Merge jdk7-b44
authorxdono
Tue, 20 Jan 2009 09:42:07 -0800
changeset 796d8eb2738db6b
parent 795 6dce6ac0929e
parent 794 4dab1a24dca2
child 797 527b426497a2
child 914 30bf00392b6d
Merge
src/share/classes/sun/nio/cs/IBM437.java
src/share/classes/sun/nio/cs/IBM737.java
src/share/classes/sun/nio/cs/IBM775.java
src/share/classes/sun/nio/cs/IBM850.java
src/share/classes/sun/nio/cs/IBM852.java
src/share/classes/sun/nio/cs/IBM855.java
src/share/classes/sun/nio/cs/IBM857.java
src/share/classes/sun/nio/cs/IBM858.java
src/share/classes/sun/nio/cs/IBM862.java
src/share/classes/sun/nio/cs/IBM866.java
src/share/classes/sun/nio/cs/IBM874.java
src/share/classes/sun/nio/cs/ISO_8859_13.java
src/share/classes/sun/nio/cs/ISO_8859_15.java
src/share/classes/sun/nio/cs/ISO_8859_2.java
src/share/classes/sun/nio/cs/ISO_8859_4.java
src/share/classes/sun/nio/cs/ISO_8859_5.java
src/share/classes/sun/nio/cs/ISO_8859_7.java
src/share/classes/sun/nio/cs/ISO_8859_9.java
src/share/classes/sun/nio/cs/KOI8_R.java
src/share/classes/sun/nio/cs/KOI8_U.java
src/share/classes/sun/nio/cs/MS1250.java
src/share/classes/sun/nio/cs/MS1251.java
src/share/classes/sun/nio/cs/MS1252.java
src/share/classes/sun/nio/cs/MS1253.java
src/share/classes/sun/nio/cs/MS1254.java
src/share/classes/sun/nio/cs/MS1257.java
src/share/classes/sun/nio/cs/ext/IBM037.java
src/share/classes/sun/nio/cs/ext/IBM1006.java
src/share/classes/sun/nio/cs/ext/IBM1025.java
src/share/classes/sun/nio/cs/ext/IBM1026.java
src/share/classes/sun/nio/cs/ext/IBM1046.java
src/share/classes/sun/nio/cs/ext/IBM1047.java
src/share/classes/sun/nio/cs/ext/IBM1097.java
src/share/classes/sun/nio/cs/ext/IBM1098.java
src/share/classes/sun/nio/cs/ext/IBM1112.java
src/share/classes/sun/nio/cs/ext/IBM1122.java
src/share/classes/sun/nio/cs/ext/IBM1123.java
src/share/classes/sun/nio/cs/ext/IBM1124.java
src/share/classes/sun/nio/cs/ext/IBM1140.java
src/share/classes/sun/nio/cs/ext/IBM1141.java
src/share/classes/sun/nio/cs/ext/IBM1142.java
src/share/classes/sun/nio/cs/ext/IBM1143.java
src/share/classes/sun/nio/cs/ext/IBM1144.java
src/share/classes/sun/nio/cs/ext/IBM1145.java
src/share/classes/sun/nio/cs/ext/IBM1146.java
src/share/classes/sun/nio/cs/ext/IBM1147.java
src/share/classes/sun/nio/cs/ext/IBM1148.java
src/share/classes/sun/nio/cs/ext/IBM1149.java
src/share/classes/sun/nio/cs/ext/IBM273.java
src/share/classes/sun/nio/cs/ext/IBM277.java
src/share/classes/sun/nio/cs/ext/IBM278.java
src/share/classes/sun/nio/cs/ext/IBM280.java
src/share/classes/sun/nio/cs/ext/IBM284.java
src/share/classes/sun/nio/cs/ext/IBM285.java
src/share/classes/sun/nio/cs/ext/IBM297.java
src/share/classes/sun/nio/cs/ext/IBM420.java
src/share/classes/sun/nio/cs/ext/IBM424.java
src/share/classes/sun/nio/cs/ext/IBM500.java
src/share/classes/sun/nio/cs/ext/IBM838.java
src/share/classes/sun/nio/cs/ext/IBM856.java
src/share/classes/sun/nio/cs/ext/IBM860.java
src/share/classes/sun/nio/cs/ext/IBM861.java
src/share/classes/sun/nio/cs/ext/IBM863.java
src/share/classes/sun/nio/cs/ext/IBM864.java
src/share/classes/sun/nio/cs/ext/IBM865.java
src/share/classes/sun/nio/cs/ext/IBM868.java
src/share/classes/sun/nio/cs/ext/IBM869.java
src/share/classes/sun/nio/cs/ext/IBM870.java
src/share/classes/sun/nio/cs/ext/IBM871.java
src/share/classes/sun/nio/cs/ext/IBM875.java
src/share/classes/sun/nio/cs/ext/IBM918.java
src/share/classes/sun/nio/cs/ext/IBM921.java
src/share/classes/sun/nio/cs/ext/IBM922.java
src/share/classes/sun/nio/cs/ext/ISO_8859_11.java
src/share/classes/sun/nio/cs/ext/ISO_8859_3.java
src/share/classes/sun/nio/cs/ext/ISO_8859_6.java
src/share/classes/sun/nio/cs/ext/ISO_8859_8.java
src/share/classes/sun/nio/cs/ext/MS1255.java
src/share/classes/sun/nio/cs/ext/MS1256.java
src/share/classes/sun/nio/cs/ext/MS1258.java
src/share/classes/sun/nio/cs/ext/MS874.java
src/share/classes/sun/nio/cs/ext/MacArabic.java
src/share/classes/sun/nio/cs/ext/MacCentralEurope.java
src/share/classes/sun/nio/cs/ext/MacCroatian.java
src/share/classes/sun/nio/cs/ext/MacCyrillic.java
src/share/classes/sun/nio/cs/ext/MacDingbat.java
src/share/classes/sun/nio/cs/ext/MacGreek.java
src/share/classes/sun/nio/cs/ext/MacHebrew.java
src/share/classes/sun/nio/cs/ext/MacIceland.java
src/share/classes/sun/nio/cs/ext/MacRoman.java
src/share/classes/sun/nio/cs/ext/MacRomania.java
src/share/classes/sun/nio/cs/ext/MacSymbol.java
src/share/classes/sun/nio/cs/ext/MacThai.java
src/share/classes/sun/nio/cs/ext/MacTurkish.java
src/share/classes/sun/nio/cs/ext/MacUkraine.java
src/share/classes/sun/nio/cs/ext/TIS_620.java
     1.1 --- a/.hgtags	Wed Jan 14 21:35:03 2009 -0800
     1.2 +++ b/.hgtags	Tue Jan 20 09:42:07 2009 -0800
     1.3 @@ -16,3 +16,5 @@
     1.4  4e51997582effa006dde5c6d8b8820b2045b9c7f jdk7-b39
     1.5  2201dad60231a3c3e0346e3a0250d69ca3b71fd4 jdk7-b40
     1.6  44941f893cea95ecdd5987b12e548069bd803849 jdk7-b41
     1.7 +3ef0bdfa7609f79d4f2ea621f30cf593a2e432ce jdk7-b42
     1.8 +50c67678b0d180063ade199d398b67a54063fa7f jdk7-b43
     2.1 --- a/make/docs/Makefile	Wed Jan 14 21:35:03 2009 -0800
     2.2 +++ b/make/docs/Makefile	Tue Jan 20 09:42:07 2009 -0800
     2.3 @@ -64,7 +64,7 @@
     2.4  		-bottom $(JAVADOCBOTTOM_SWITCH)		\
     2.5  		$(OVERVIEW_OPTION)
     2.6  
     2.7 -DRAFT = '<br><b>DRAFT&nbsp;'$(MILESTONE)-$(BUILD_NUMBER)'</b>'
     2.8 +DRAFT = '<br><strong>DRAFT&nbsp;'$(MILESTONE)-$(BUILD_NUMBER)'</strong>'
     2.9  THIS_YEAR := $(shell $(DATE) | $(SED) -e 's/  / /g' | $(CUT) -d' ' -f6)
    2.10  TRADEMARK = &\#x2122;
    2.11  
    2.12 @@ -95,7 +95,7 @@
    2.13  
    2.14  JAVADOCTITLE  = 'Java$(TRADEMARK) Platform, Standard Edition $(JDK_MINOR_VERSION)<br>API Specification'
    2.15  JAVADOCWINDOWTITLE  = 'Java Platform SE $(JDK_MINOR_VERSION)'
    2.16 -JAVADOCHEADER = '<b>Java$(TRADEMARK)&nbsp;Platform<br>Standard&nbsp;Ed.&nbsp;$(JDK_MINOR_VERSION)</b>'
    2.17 +JAVADOCHEADER = '<strong>Java$(TRADEMARK)&nbsp;Platform<br>Standard&nbsp;Ed.&nbsp;$(JDK_MINOR_VERSION)</strong>'
    2.18  JAVADOCBOTTOM = '<font size="-1"><a href="http://bugs.sun.com/services/bugreport/index.jsp">Submit a bug or feature</a><br>For further API reference and developer documentation, see <a href="{@docroot}/../../webnotes/devdocs-vs-specs.html">Java SE Developer Documentation</a>. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples. <p>Copyright $(THIS_YEAR) Sun Microsystems, Inc. All Rights Reserved. Use is subject to <a href="{@docroot}/../legal/license.html">license terms</a>. Also see the <a href="http://java.sun.com/docs/redist.html">documentation redistribution policy</a>.</font>'
    2.19  JAVADOCOVERVIEW = $(SHARE_SRC)/classes/overview-core.html
    2.20  
    2.21 @@ -120,7 +120,7 @@
    2.22                      -group $(DOMAPI_GROUPNAME) $(DOMAPI_REGEXP)
    2.23  DOMAPI_JAVADOCTITLE  = 'Common DOM API'
    2.24  DOMAPI_JAVADOCWINDOWTITLE  = 'Common DOM API'
    2.25 -DOMAPI_JAVADOCHEADER = '<b>Common DOM API</b>'
    2.26 +DOMAPI_JAVADOCHEADER = '<strong>Common DOM API</strong>'
    2.27  DOMAPI_JAVADOCBOTTOM = '<font size="-1"><a href="http://bugs.sun.com/services/bugreport/index.jsp">Submit a bug or feature</a><br>Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.<br>Copyright $(THIS_YEAR) Sun Microsystems, Inc. 4150 Network Circle<br>Santa Clara, California, 95054, U.S.A.  All Rights Reserved.</font>'
    2.28  DOMAPI_GROUPNAME = "Packages"
    2.29  DOMAPI_REGEXP = "com.sun.java.browser.dom:org.w3c.dom*"
    2.30 @@ -140,7 +140,7 @@
    2.31                      -overview $(MIRROR_OVERVIEW)
    2.32  MIRROR_JAVADOCTITLE = 'Mirror API'
    2.33  MIRROR_JAVADOCWINDOWTITLE = 'Mirror API'
    2.34 -MIRROR_JAVADOCHEADER = '<b>Mirror API</b>'
    2.35 +MIRROR_JAVADOCHEADER = '<strong>Mirror API</strong>'
    2.36  MIRROR_JAVADOCBOTTOM = '<font size="-1"><a href="http://bugs.sun.com/services/bugreport/index.jsp">Report a bug or request a feature.</a><br>Copyright $(THIS_YEAR) Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.</font>'
    2.37  MIRROR_GROUPNAME = "Packages"
    2.38  MIRROR_OVERVIEW = $(IMPORTSRCDIR)/com/sun/mirror/overview.html
    2.39 @@ -163,7 +163,7 @@
    2.40                      -group $(DOCLETAPI_GROUPNAME) $(DOCLETAPI_REGEXP)
    2.41  DOCLETAPI_JAVADOCTITLE  = 'Doclet API'
    2.42  DOCLETAPI_JAVADOCWINDOWTITLE  = 'Doclet API'
    2.43 -DOCLETAPI_JAVADOCHEADER = '<b>Doclet API</b>'
    2.44 +DOCLETAPI_JAVADOCHEADER = '<strong>Doclet API</strong>'
    2.45  DOCLETAPI_JAVADOCBOTTOM = '<font size="-1"><a href="http://bugs.sun.com/services/bugreport/index.jsp">Submit a bug or feature</a><br>Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.<br>Copyright 1993-$(THIS_YEAR) Sun Microsystems, Inc. 4150 Network Circle<br>Santa Clara, California, 95054, U.S.A.  All Rights Reserved.</font>'
    2.46  DOCLETAPI_GROUPNAME = "Packages"
    2.47  DOCLETAPI_REGEXP = "com.sun.javadoc"
    2.48 @@ -407,7 +407,7 @@
    2.49  #
    2.50  TREEAPI_JAVADOCTITLE = 'Compiler Tree API'
    2.51  TREEAPI_JAVADOCWINDOWTITLE = 'Compiler Tree API'
    2.52 -TREEAPI_JAVADOCHEADER = '<b>Compiler Tree API</b>'
    2.53 +TREEAPI_JAVADOCHEADER = '<strong>Compiler Tree API</strong>'
    2.54  TREEAPI_JAVADOCBOTTOM = '<font size="-1"><a href="http://bugs.sun.com/services/bugreport/index.jsp">Report a bug or request a feature.</a><br>Copyright $(THIS_YEAR) Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.</font>'
    2.55  TREEAPI_GROUPNAME = "Packages"
    2.56  TREEAPI_OVERVIEW = $(SHARE_SRC)/classes/com/sun/source/overview.html
     3.1 --- a/make/java/nio/FILES_java.gmk	Wed Jan 14 21:35:03 2009 -0800
     3.2 +++ b/make/java/nio/FILES_java.gmk	Tue Jan 20 09:42:07 2009 -0800
     3.3 @@ -113,8 +113,7 @@
     3.4  	sun/nio/cs/FastCharsetProvider.java \
     3.5  	sun/nio/cs/HistoricallyNamedCharset.java \
     3.6  	sun/nio/cs/ISO_8859_1.java \
     3.7 -	sun/nio/cs/ISO_8859_15.java \
     3.8 -	sun/nio/cs/MS1252.java \
     3.9 +	sun/nio/cs/SingleByte.java \
    3.10  	sun/nio/cs/SingleByteDecoder.java \
    3.11  	sun/nio/cs/SingleByteEncoder.java \
    3.12  	sun/nio/cs/StreamEncoder.java \
    3.13 @@ -268,6 +267,34 @@
    3.14  	java/nio/charset/IllegalCharsetNameException.java \
    3.15  	java/nio/charset/UnsupportedCharsetException.java
    3.16  
    3.17 +FILES_gen_sbcs = \
    3.18 +	sun/nio/cs/ISO_8859_2.java \
    3.19 +	sun/nio/cs/ISO_8859_4.java \
    3.20 +	sun/nio/cs/ISO_8859_5.java \
    3.21 +	sun/nio/cs/ISO_8859_7.java \
    3.22 +	sun/nio/cs/ISO_8859_9.java \
    3.23 +	sun/nio/cs/ISO_8859_13.java \
    3.24 +	sun/nio/cs/ISO_8859_15.java \
    3.25 +	sun/nio/cs/IBM437.java \
    3.26 +	sun/nio/cs/IBM737.java \
    3.27 +	sun/nio/cs/IBM775.java \
    3.28 +	sun/nio/cs/IBM850.java \
    3.29 +	sun/nio/cs/IBM852.java \
    3.30 +	sun/nio/cs/IBM855.java \
    3.31 +	sun/nio/cs/IBM857.java \
    3.32 +	sun/nio/cs/IBM858.java \
    3.33 +	sun/nio/cs/IBM862.java \
    3.34 +	sun/nio/cs/IBM866.java \
    3.35 +	sun/nio/cs/IBM874.java \
    3.36 +	sun/nio/cs/KOI8_R.java \
    3.37 +	sun/nio/cs/KOI8_U.java \
    3.38 +	sun/nio/cs/MS1250.java \
    3.39 +	sun/nio/cs/MS1251.java \
    3.40 +	sun/nio/cs/MS1252.java \
    3.41 +	sun/nio/cs/MS1253.java \
    3.42 +	sun/nio/cs/MS1254.java \
    3.43 +	sun/nio/cs/MS1257.java
    3.44 +
    3.45  FILES_gen_csp = sun/nio/cs/StandardCharsets.java
    3.46  
    3.47  FILES_gen_sor = sun/nio/ch/SocketOptionRegistry.java
    3.48 @@ -275,4 +302,4 @@
    3.49  FILES_gen = $(FILES_gen_coder) $(FILES_gen_buffer) $(FILES_gen_ex) \
    3.50      $(FILES_gen_csp) $(FILES_gen_sor)
    3.51  
    3.52 -FILES_java = $(FILES_src) $(FILES_gen)
    3.53 +FILES_java = $(FILES_src) $(FILES_gen) $(FILES_gen_sbcs)
     4.1 --- a/make/java/nio/Makefile	Wed Jan 14 21:35:03 2009 -0800
     4.2 +++ b/make/java/nio/Makefile	Tue Jan 20 09:42:07 2009 -0800
     4.3 @@ -182,7 +182,9 @@
     4.4  SCH_GEN=$(SNIO_GEN)/ch
     4.5  SCS_GEN=$(SNIO_GEN)/cs
     4.6  
     4.7 -sources: $(SPP_JARFILE) $(FILES_genout)
     4.8 +FILES_gensbcs_out = $(FILES_gen_sbcs:%.java=$(GENSRCDIR)/%.java)
     4.9 +
    4.10 +sources: $(SPP_JARFILE) $(FILES_genout) $(FILES_gensbcs_out)
    4.11  
    4.12  #
    4.13  # Generated buffer classes
    4.14 @@ -657,4 +659,15 @@
    4.15  	NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh $(SOR_COPYRIGHT_YEARS) > $@
    4.16  	$(GENSOR_EXE) >> $@
    4.17  
    4.18 +#
    4.19 +# Generated sun.nio.cs SingleByte classes
    4.20 +#
    4.21 +GENCSSRC = $(BUILDDIR)/tools/CharsetMapping
    4.22 +CHARSETMAPPING_JARFILE = $(BUILDTOOLJARDIR)/charsetmapping.jar
    4.23 +
    4.24 +$(FILES_gensbcs_out): $(GENCSSRC)/SingleByte-X.java $(GENCSSRC)/sbcs
    4.25 +	@$(prep-target)
    4.26 +	$(BOOT_JAVA_CMD) -cp $(CHARSETMAPPING_JARFILE) build.tools.charsetmapping.GenerateSBCS \
    4.27 +		$(GENCSSRC) $(SCS_GEN) sbcs
    4.28 +
    4.29  .PHONY: sources 
     5.1 --- a/make/sun/awt/mapfile-mawt-vers	Wed Jan 14 21:35:03 2009 -0800
     5.2 +++ b/make/sun/awt/mapfile-mawt-vers	Tue Jan 20 09:42:07 2009 -0800
     5.3 @@ -407,6 +407,7 @@
     5.4  		Java_sun_java2d_x11_X11SurfaceData_initSurface;
     5.5  		Java_sun_java2d_x11_X11SurfaceData_isDrawableValid;
     5.6  		Java_sun_java2d_x11_X11SurfaceData_isDgaAvailable;
     5.7 +		Java_sun_java2d_x11_X11SurfaceData_isShmPMAvailable;
     5.8  		Java_sun_java2d_x11_X11SurfaceData_setInvalid;
     5.9  		Java_sun_java2d_x11_X11SurfaceData_flushNativeSurface;
    5.10                  Java_sun_java2d_x11_X11SurfaceData_XCreateGC;
     6.1 --- a/make/sun/nio/FILES_java.gmk	Wed Jan 14 21:35:03 2009 -0800
     6.2 +++ b/make/sun/nio/FILES_java.gmk	Tue Jan 20 09:42:07 2009 -0800
     6.3 @@ -29,7 +29,7 @@
     6.4  # Core character converters are built from make/java/java.
     6.5  #
     6.6  
     6.7 -FILES_java = \
     6.8 +FILES_src = \
     6.9  	sun/io/ByteToCharDoubleByte.java \
    6.10  	sun/io/ByteToCharDBCS_ASCII.java \
    6.11  	sun/io/ByteToCharDBCS_EBCDIC.java \
    6.12 @@ -303,3 +303,77 @@
    6.13  	sun/io/CharToByteMacTurkish.java \
    6.14  	sun/io/CharToByteMacUkraine.java \
    6.15  	sun/io/CharToByteTIS620.java
    6.16 +
    6.17 +FILES_gen_extsbcs = \
    6.18 +	sun/nio/cs/ext/IBM037.java \
    6.19 +	sun/nio/cs/ext/IBM1006.java \
    6.20 +	sun/nio/cs/ext/IBM1025.java \
    6.21 +	sun/nio/cs/ext/IBM1026.java \
    6.22 +	sun/nio/cs/ext/IBM1046.java \
    6.23 +	sun/nio/cs/ext/IBM1047.java \
    6.24 +	sun/nio/cs/ext/IBM1097.java \
    6.25 +	sun/nio/cs/ext/IBM1098.java \
    6.26 +	sun/nio/cs/ext/IBM1112.java \
    6.27 +	sun/nio/cs/ext/IBM1122.java \
    6.28 +	sun/nio/cs/ext/IBM1123.java \
    6.29 +	sun/nio/cs/ext/IBM1124.java \
    6.30 +	sun/nio/cs/ext/IBM1140.java \
    6.31 +	sun/nio/cs/ext/IBM1141.java \
    6.32 +	sun/nio/cs/ext/IBM1142.java \
    6.33 +	sun/nio/cs/ext/IBM1143.java \
    6.34 +	sun/nio/cs/ext/IBM1144.java \
    6.35 +	sun/nio/cs/ext/IBM1145.java \
    6.36 +	sun/nio/cs/ext/IBM1146.java \
    6.37 +	sun/nio/cs/ext/IBM1147.java \
    6.38 +	sun/nio/cs/ext/IBM1148.java \
    6.39 +	sun/nio/cs/ext/IBM1149.java \
    6.40 +	sun/nio/cs/ext/IBM273.java \
    6.41 +	sun/nio/cs/ext/IBM277.java \
    6.42 +	sun/nio/cs/ext/IBM278.java \
    6.43 +	sun/nio/cs/ext/IBM280.java \
    6.44 +	sun/nio/cs/ext/IBM284.java \
    6.45 +	sun/nio/cs/ext/IBM285.java \
    6.46 +	sun/nio/cs/ext/IBM297.java \
    6.47 +	sun/nio/cs/ext/IBM420.java \
    6.48 +	sun/nio/cs/ext/IBM424.java \
    6.49 +	sun/nio/cs/ext/IBM500.java \
    6.50 +	sun/nio/cs/ext/IBM838.java \
    6.51 +	sun/nio/cs/ext/IBM856.java \
    6.52 +	sun/nio/cs/ext/IBM860.java \
    6.53 +	sun/nio/cs/ext/IBM861.java \
    6.54 +	sun/nio/cs/ext/IBM863.java \
    6.55 +	sun/nio/cs/ext/IBM864.java \
    6.56 +	sun/nio/cs/ext/IBM865.java \
    6.57 +	sun/nio/cs/ext/IBM868.java \
    6.58 +	sun/nio/cs/ext/IBM869.java \
    6.59 +	sun/nio/cs/ext/IBM870.java \
    6.60 +	sun/nio/cs/ext/IBM871.java \
    6.61 +	sun/nio/cs/ext/IBM875.java \
    6.62 +	sun/nio/cs/ext/IBM918.java \
    6.63 +	sun/nio/cs/ext/IBM921.java \
    6.64 +	sun/nio/cs/ext/IBM922.java \
    6.65 +	sun/nio/cs/ext/ISO_8859_11.java \
    6.66 +	sun/nio/cs/ext/ISO_8859_3.java \
    6.67 +	sun/nio/cs/ext/ISO_8859_6.java \
    6.68 +	sun/nio/cs/ext/ISO_8859_8.java \
    6.69 +	sun/nio/cs/ext/MS1255.java \
    6.70 +	sun/nio/cs/ext/MS1256.java \
    6.71 +	sun/nio/cs/ext/MS1258.java \
    6.72 +	sun/nio/cs/ext/MS874.java \
    6.73 +	sun/nio/cs/ext/MacArabic.java \
    6.74 +	sun/nio/cs/ext/MacCentralEurope.java \
    6.75 +	sun/nio/cs/ext/MacCroatian.java \
    6.76 +	sun/nio/cs/ext/MacCyrillic.java \
    6.77 +	sun/nio/cs/ext/MacDingbat.java \
    6.78 +	sun/nio/cs/ext/MacGreek.java \
    6.79 +	sun/nio/cs/ext/MacHebrew.java \
    6.80 +	sun/nio/cs/ext/MacIceland.java \
    6.81 +	sun/nio/cs/ext/MacRoman.java \
    6.82 +	sun/nio/cs/ext/MacRomania.java \
    6.83 +	sun/nio/cs/ext/MacSymbol.java \
    6.84 +	sun/nio/cs/ext/MacThai.java \
    6.85 +	sun/nio/cs/ext/MacTurkish.java \
    6.86 +	sun/nio/cs/ext/MacUkraine.java \
    6.87 +	sun/nio/cs/ext/TIS_620.java
    6.88 +
    6.89 +FILES_java = $(FILES_src) $(FILES_gen_extsbcs)
    6.90 \ No newline at end of file
     7.1 --- a/make/sun/nio/Makefile	Wed Jan 14 21:35:03 2009 -0800
     7.2 +++ b/make/sun/nio/Makefile	Tue Jan 20 09:42:07 2009 -0800
     7.3 @@ -60,12 +60,15 @@
     7.4  # this define is for the rule:
     7.5  CHARSETS_JAR = $(LIBDIR)/charsets.jar
     7.6  
     7.7 +# extsbcs
     7.8 +FILES_genout_extsbcs = $(FILES_gen_extsbcs:%.java=$(GENSRCDIR)/%.java)
     7.9 +
    7.10  #
    7.11  # Rules
    7.12  #
    7.13  include $(BUILDDIR)/common/Classes.gmk
    7.14  
    7.15 -build: $(CHARSETS_JAR)
    7.16 +build: $(FILES_genout_extsbcs) $(CHARSETS_JAR)
    7.17  
    7.18  #
    7.19  # Extra rules to build character converters.
    7.20 @@ -74,6 +77,8 @@
    7.21  SERVICE_DESCRIPTION_PATH = META-INF/services/$(SERVICE_DESCRIPTION)
    7.22  
    7.23  GENCSDATASRC = $(BUILDDIR)/tools/CharsetMapping
    7.24 +GENCSEXT = $(GENSRCDIR)/sun/nio/cs/ext
    7.25 +
    7.26  FILES_MAP = $(GENCSDATASRC)/sjis0213.map
    7.27  FILES_DAT = $(CLASSDESTDIR)/sun/nio/cs/ext/sjis0213.dat
    7.28  CHARSETMAPPING_JARFILE = $(BUILDTOOLJARDIR)/charsetmapping.jar
    7.29 @@ -83,6 +88,15 @@
    7.30  	$(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) \
    7.31  		$(FILES_MAP) $(FILES_DAT)
    7.32  
    7.33 +
    7.34 +$(FILES_genout_extsbcs): $(GENCSDATASRC)/SingleByte-X.java $(GENCSDATASRC)/extsbcs
    7.35 +	@$(prep-target)
    7.36 +	$(RM) -r $(GENCSEXT)
    7.37 +	$(MKDIR) -p $(GENCSEXT)
    7.38 +	$(BOOT_JAVA_CMD) -cp $(CHARSETMAPPING_JARFILE) build.tools.charsetmapping.GenerateSBCS \
    7.39 +		$(GENCSDATASRC) $(GENCSEXT) extsbcs
    7.40 +
    7.41 +
    7.42  $(CLASSDESTDIR)/$(SERVICE_DESCRIPTION_PATH): \
    7.43    $(SHARE_SRC)/classes/sun/nio/cs/ext/$(SERVICE_DESCRIPTION_PATH)
    7.44  	$(install-file)
     8.1 --- a/make/sun/xawt/mapfile-vers	Wed Jan 14 21:35:03 2009 -0800
     8.2 +++ b/make/sun/xawt/mapfile-vers	Tue Jan 20 09:42:07 2009 -0800
     8.3 @@ -337,6 +337,7 @@
     8.4          Java_sun_java2d_x11_X11SurfaceData_initIDs;
     8.5  	Java_sun_java2d_x11_X11SurfaceData_isDrawableValid;
     8.6          Java_sun_java2d_x11_X11SurfaceData_isDgaAvailable;
     8.7 +	Java_sun_java2d_x11_X11SurfaceData_isShmPMAvailable;
     8.8          Java_sun_java2d_x11_X11SurfaceData_initOps;
     8.9          Java_sun_java2d_x11_X11SurfaceData_initSurface;
    8.10          Java_sun_java2d_x11_X11SurfaceData_flushNativeSurface;
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/make/tools/CharsetMapping/IBM037.c2b	Tue Jan 20 09:42:07 2009 -0800
     9.3 @@ -0,0 +1,1 @@
     9.4 +0x15	U+0085
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/make/tools/CharsetMapping/IBM037.map	Tue Jan 20 09:42:07 2009 -0800
    10.3 @@ -0,0 +1,257 @@
    10.4 +#Generated from IBM037.java
    10.5 +0x00	U+0000
    10.6 +0x01	U+0001
    10.7 +0x02	U+0002
    10.8 +0x03	U+0003
    10.9 +0x04	U+009c
   10.10 +0x05	U+0009
   10.11 +0x06	U+0086
   10.12 +0x07	U+007f
   10.13 +0x08	U+0097
   10.14 +0x09	U+008d
   10.15 +0x0a	U+008e
   10.16 +0x0b	U+000b
   10.17 +0x0c	U+000c
   10.18 +0x0d	U+000d
   10.19 +0x0e	U+000e
   10.20 +0x0f	U+000f
   10.21 +0x10	U+0010
   10.22 +0x11	U+0011
   10.23 +0x12	U+0012
   10.24 +0x13	U+0013
   10.25 +0x14	U+009d
   10.26 +0x15	U+000a
   10.27 +0x16	U+0008
   10.28 +0x17	U+0087
   10.29 +0x18	U+0018
   10.30 +0x19	U+0019
   10.31 +0x1a	U+0092
   10.32 +0x1b	U+008f
   10.33 +0x1c	U+001c
   10.34 +0x1d	U+001d
   10.35 +0x1e	U+001e
   10.36 +0x1f	U+001f
   10.37 +0x20	U+0080
   10.38 +0x21	U+0081
   10.39 +0x22	U+0082
   10.40 +0x23	U+0083
   10.41 +0x24	U+0084
   10.42 +0x25	U+000a
   10.43 +0x26	U+0017
   10.44 +0x27	U+001b
   10.45 +0x28	U+0088
   10.46 +0x29	U+0089
   10.47 +0x2a	U+008a
   10.48 +0x2b	U+008b
   10.49 +0x2c	U+008c
   10.50 +0x2d	U+0005
   10.51 +0x2e	U+0006
   10.52 +0x2f	U+0007
   10.53 +0x30	U+0090
   10.54 +0x31	U+0091
   10.55 +0x32	U+0016
   10.56 +0x33	U+0093
   10.57 +0x34	U+0094
   10.58 +0x35	U+0095
   10.59 +0x36	U+0096
   10.60 +0x37	U+0004
   10.61 +0x38	U+0098
   10.62 +0x39	U+0099
   10.63 +0x3a	U+009a
   10.64 +0x3b	U+009b
   10.65 +0x3c	U+0014
   10.66 +0x3d	U+0015
   10.67 +0x3e	U+009e
   10.68 +0x3f	U+001a
   10.69 +0x40	U+0020
   10.70 +0x41	U+00a0
   10.71 +0x42	U+00e2
   10.72 +0x43	U+00e4
   10.73 +0x44	U+00e0
   10.74 +0x45	U+00e1
   10.75 +0x46	U+00e3
   10.76 +0x47	U+00e5
   10.77 +0x48	U+00e7
   10.78 +0x49	U+00f1
   10.79 +0x4a	U+00a2
   10.80 +0x4b	U+002e
   10.81 +0x4c	U+003c
   10.82 +0x4d	U+0028
   10.83 +0x4e	U+002b
   10.84 +0x4f	U+007c
   10.85 +0x50	U+0026
   10.86 +0x51	U+00e9
   10.87 +0x52	U+00ea
   10.88 +0x53	U+00eb
   10.89 +0x54	U+00e8
   10.90 +0x55	U+00ed
   10.91 +0x56	U+00ee
   10.92 +0x57	U+00ef
   10.93 +0x58	U+00ec
   10.94 +0x59	U+00df
   10.95 +0x5a	U+0021
   10.96 +0x5b	U+0024
   10.97 +0x5c	U+002a
   10.98 +0x5d	U+0029
   10.99 +0x5e	U+003b
  10.100 +0x5f	U+00ac
  10.101 +0x60	U+002d
  10.102 +0x61	U+002f
  10.103 +0x62	U+00c2
  10.104 +0x63	U+00c4
  10.105 +0x64	U+00c0
  10.106 +0x65	U+00c1
  10.107 +0x66	U+00c3
  10.108 +0x67	U+00c5
  10.109 +0x68	U+00c7
  10.110 +0x69	U+00d1
  10.111 +0x6a	U+00a6
  10.112 +0x6b	U+002c
  10.113 +0x6c	U+0025
  10.114 +0x6d	U+005f
  10.115 +0x6e	U+003e
  10.116 +0x6f	U+003f
  10.117 +0x70	U+00f8
  10.118 +0x71	U+00c9
  10.119 +0x72	U+00ca
  10.120 +0x73	U+00cb
  10.121 +0x74	U+00c8
  10.122 +0x75	U+00cd
  10.123 +0x76	U+00ce
  10.124 +0x77	U+00cf
  10.125 +0x78	U+00cc
  10.126 +0x79	U+0060
  10.127 +0x7a	U+003a
  10.128 +0x7b	U+0023
  10.129 +0x7c	U+0040
  10.130 +0x7d	U+0027
  10.131 +0x7e	U+003d
  10.132 +0x7f	U+0022
  10.133 +0x80	U+00d8
  10.134 +0x81	U+0061
  10.135 +0x82	U+0062
  10.136 +0x83	U+0063
  10.137 +0x84	U+0064
  10.138 +0x85	U+0065
  10.139 +0x86	U+0066
  10.140 +0x87	U+0067
  10.141 +0x88	U+0068
  10.142 +0x89	U+0069
  10.143 +0x8a	U+00ab
  10.144 +0x8b	U+00bb
  10.145 +0x8c	U+00f0
  10.146 +0x8d	U+00fd
  10.147 +0x8e	U+00fe
  10.148 +0x8f	U+00b1
  10.149 +0x90	U+00b0
  10.150 +0x91	U+006a
  10.151 +0x92	U+006b
  10.152 +0x93	U+006c
  10.153 +0x94	U+006d
  10.154 +0x95	U+006e
  10.155 +0x96	U+006f
  10.156 +0x97	U+0070
  10.157 +0x98	U+0071
  10.158 +0x99	U+0072
  10.159 +0x9a	U+00aa
  10.160 +0x9b	U+00ba
  10.161 +0x9c	U+00e6
  10.162 +0x9d	U+00b8
  10.163 +0x9e	U+00c6
  10.164 +0x9f	U+00a4
  10.165 +0xa0	U+00b5
  10.166 +0xa1	U+007e
  10.167 +0xa2	U+0073
  10.168 +0xa3	U+0074
  10.169 +0xa4	U+0075
  10.170 +0xa5	U+0076
  10.171 +0xa6	U+0077
  10.172 +0xa7	U+0078
  10.173 +0xa8	U+0079
  10.174 +0xa9	U+007a
  10.175 +0xaa	U+00a1
  10.176 +0xab	U+00bf
  10.177 +0xac	U+00d0
  10.178 +0xad	U+00dd
  10.179 +0xae	U+00de
  10.180 +0xaf	U+00ae
  10.181 +0xb0	U+005e
  10.182 +0xb1	U+00a3
  10.183 +0xb2	U+00a5
  10.184 +0xb3	U+00b7
  10.185 +0xb4	U+00a9
  10.186 +0xb5	U+00a7
  10.187 +0xb6	U+00b6
  10.188 +0xb7	U+00bc
  10.189 +0xb8	U+00bd
  10.190 +0xb9	U+00be
  10.191 +0xba	U+005b
  10.192 +0xbb	U+005d
  10.193 +0xbc	U+00af
  10.194 +0xbd	U+00a8
  10.195 +0xbe	U+00b4
  10.196 +0xbf	U+00d7
  10.197 +0xc0	U+007b
  10.198 +0xc1	U+0041
  10.199 +0xc2	U+0042
  10.200 +0xc3	U+0043
  10.201 +0xc4	U+0044
  10.202 +0xc5	U+0045
  10.203 +0xc6	U+0046
  10.204 +0xc7	U+0047
  10.205 +0xc8	U+0048
  10.206 +0xc9	U+0049
  10.207 +0xca	U+00ad
  10.208 +0xcb	U+00f4
  10.209 +0xcc	U+00f6
  10.210 +0xcd	U+00f2
  10.211 +0xce	U+00f3
  10.212 +0xcf	U+00f5
  10.213 +0xd0	U+007d
  10.214 +0xd1	U+004a
  10.215 +0xd2	U+004b
  10.216 +0xd3	U+004c
  10.217 +0xd4	U+004d
  10.218 +0xd5	U+004e
  10.219 +0xd6	U+004f
  10.220 +0xd7	U+0050
  10.221 +0xd8	U+0051
  10.222 +0xd9	U+0052
  10.223 +0xda	U+00b9
  10.224 +0xdb	U+00fb
  10.225 +0xdc	U+00fc
  10.226 +0xdd	U+00f9
  10.227 +0xde	U+00fa
  10.228 +0xdf	U+00ff
  10.229 +0xe0	U+005c
  10.230 +0xe1	U+00f7
  10.231 +0xe2	U+0053
  10.232 +0xe3	U+0054
  10.233 +0xe4	U+0055
  10.234 +0xe5	U+0056
  10.235 +0xe6	U+0057
  10.236 +0xe7	U+0058
  10.237 +0xe8	U+0059
  10.238 +0xe9	U+005a
  10.239 +0xea	U+00b2
  10.240 +0xeb	U+00d4
  10.241 +0xec	U+00d6
  10.242 +0xed	U+00d2
  10.243 +0xee	U+00d3
  10.244 +0xef	U+00d5
  10.245 +0xf0	U+0030
  10.246 +0xf1	U+0031
  10.247 +0xf2	U+0032
  10.248 +0xf3	U+0033
  10.249 +0xf4	U+0034
  10.250 +0xf5	U+0035
  10.251 +0xf6	U+0036
  10.252 +0xf7	U+0037
  10.253 +0xf8	U+0038
  10.254 +0xf9	U+0039
  10.255 +0xfa	U+00b3
  10.256 +0xfb	U+00db
  10.257 +0xfc	U+00dc
  10.258 +0xfd	U+00d9
  10.259 +0xfe	U+00da
  10.260 +0xff	U+009f
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/make/tools/CharsetMapping/IBM037.nr	Tue Jan 20 09:42:07 2009 -0800
    11.3 @@ -0,0 +1,1 @@
    11.4 +0x25	U+000a
    12.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.2 +++ b/make/tools/CharsetMapping/IBM1006.map	Tue Jan 20 09:42:07 2009 -0800
    12.3 @@ -0,0 +1,257 @@
    12.4 +#Generated from IBM1006.java
    12.5 +0x00	U+0000
    12.6 +0x01	U+0001
    12.7 +0x02	U+0002
    12.8 +0x03	U+0003
    12.9 +0x04	U+0004
   12.10 +0x05	U+0005
   12.11 +0x06	U+0006
   12.12 +0x07	U+0007
   12.13 +0x08	U+0008
   12.14 +0x09	U+0009
   12.15 +0x0a	U+000a
   12.16 +0x0b	U+000b
   12.17 +0x0c	U+000c
   12.18 +0x0d	U+000d
   12.19 +0x0e	U+000e
   12.20 +0x0f	U+000f
   12.21 +0x10	U+0010
   12.22 +0x11	U+0011
   12.23 +0x12	U+0012
   12.24 +0x13	U+0013
   12.25 +0x14	U+0014
   12.26 +0x15	U+0015
   12.27 +0x16	U+0016
   12.28 +0x17	U+0017
   12.29 +0x18	U+0018
   12.30 +0x19	U+0019
   12.31 +0x1a	U+001a
   12.32 +0x1b	U+001b
   12.33 +0x1c	U+001c
   12.34 +0x1d	U+001d
   12.35 +0x1e	U+001e
   12.36 +0x1f	U+001f
   12.37 +0x20	U+0020
   12.38 +0x21	U+0021
   12.39 +0x22	U+0022
   12.40 +0x23	U+0023
   12.41 +0x24	U+0024
   12.42 +0x25	U+0025
   12.43 +0x26	U+0026
   12.44 +0x27	U+0027
   12.45 +0x28	U+0028
   12.46 +0x29	U+0029
   12.47 +0x2a	U+002a
   12.48 +0x2b	U+002b
   12.49 +0x2c	U+002c
   12.50 +0x2d	U+002d
   12.51 +0x2e	U+002e
   12.52 +0x2f	U+002f
   12.53 +0x30	U+0030
   12.54 +0x31	U+0031
   12.55 +0x32	U+0032
   12.56 +0x33	U+0033
   12.57 +0x34	U+0034
   12.58 +0x35	U+0035
   12.59 +0x36	U+0036
   12.60 +0x37	U+0037
   12.61 +0x38	U+0038
   12.62 +0x39	U+0039
   12.63 +0x3a	U+003a
   12.64 +0x3b	U+003b
   12.65 +0x3c	U+003c
   12.66 +0x3d	U+003d
   12.67 +0x3e	U+003e
   12.68 +0x3f	U+003f
   12.69 +0x40	U+0040
   12.70 +0x41	U+0041
   12.71 +0x42	U+0042
   12.72 +0x43	U+0043
   12.73 +0x44	U+0044
   12.74 +0x45	U+0045
   12.75 +0x46	U+0046
   12.76 +0x47	U+0047
   12.77 +0x48	U+0048
   12.78 +0x49	U+0049
   12.79 +0x4a	U+004a
   12.80 +0x4b	U+004b
   12.81 +0x4c	U+004c
   12.82 +0x4d	U+004d
   12.83 +0x4e	U+004e
   12.84 +0x4f	U+004f
   12.85 +0x50	U+0050
   12.86 +0x51	U+0051
   12.87 +0x52	U+0052
   12.88 +0x53	U+0053
   12.89 +0x54	U+0054
   12.90 +0x55	U+0055
   12.91 +0x56	U+0056
   12.92 +0x57	U+0057
   12.93 +0x58	U+0058
   12.94 +0x59	U+0059
   12.95 +0x5a	U+005a
   12.96 +0x5b	U+005b
   12.97 +0x5c	U+005c
   12.98 +0x5d	U+005d
   12.99 +0x5e	U+005e
  12.100 +0x5f	U+005f
  12.101 +0x60	U+0060
  12.102 +0x61	U+0061
  12.103 +0x62	U+0062
  12.104 +0x63	U+0063
  12.105 +0x64	U+0064
  12.106 +0x65	U+0065
  12.107 +0x66	U+0066
  12.108 +0x67	U+0067
  12.109 +0x68	U+0068
  12.110 +0x69	U+0069
  12.111 +0x6a	U+006a
  12.112 +0x6b	U+006b
  12.113 +0x6c	U+006c
  12.114 +0x6d	U+006d
  12.115 +0x6e	U+006e
  12.116 +0x6f	U+006f
  12.117 +0x70	U+0070
  12.118 +0x71	U+0071
  12.119 +0x72	U+0072
  12.120 +0x73	U+0073
  12.121 +0x74	U+0074
  12.122 +0x75	U+0075
  12.123 +0x76	U+0076
  12.124 +0x77	U+0077
  12.125 +0x78	U+0078
  12.126 +0x79	U+0079
  12.127 +0x7a	U+007a
  12.128 +0x7b	U+007b
  12.129 +0x7c	U+007c
  12.130 +0x7d	U+007d
  12.131 +0x7e	U+007e
  12.132 +0x7f	U+007f
  12.133 +0x80	U+0080
  12.134 +0x81	U+0081
  12.135 +0x82	U+0082
  12.136 +0x83	U+0083
  12.137 +0x84	U+0084
  12.138 +0x85	U+0085
  12.139 +0x86	U+0086
  12.140 +0x87	U+0087
  12.141 +0x88	U+0088
  12.142 +0x89	U+0089
  12.143 +0x8a	U+008a
  12.144 +0x8b	U+008b
  12.145 +0x8c	U+008c
  12.146 +0x8d	U+008d
  12.147 +0x8e	U+008e
  12.148 +0x8f	U+008f
  12.149 +0x90	U+0090
  12.150 +0x91	U+0091
  12.151 +0x92	U+0092
  12.152 +0x93	U+0093
  12.153 +0x94	U+0094
  12.154 +0x95	U+0095
  12.155 +0x96	U+0096
  12.156 +0x97	U+0097
  12.157 +0x98	U+0098
  12.158 +0x99	U+0099
  12.159 +0x9a	U+009a
  12.160 +0x9b	U+009b
  12.161 +0x9c	U+009c
  12.162 +0x9d	U+009d
  12.163 +0x9e	U+009e
  12.164 +0x9f	U+009f
  12.165 +0xa0	U+00a0
  12.166 +0xa1	U+06f0
  12.167 +0xa2	U+06f1
  12.168 +0xa3	U+06f2
  12.169 +0xa4	U+06f3
  12.170 +0xa5	U+06f4
  12.171 +0xa6	U+06f5
  12.172 +0xa7	U+06f6
  12.173 +0xa8	U+06f7
  12.174 +0xa9	U+06f8
  12.175 +0xaa	U+06f9
  12.176 +0xab	U+060c
  12.177 +0xac	U+061b
  12.178 +0xad	U+00ad
  12.179 +0xae	U+061f
  12.180 +0xaf	U+fe81
  12.181 +0xb0	U+fe8d
  12.182 +0xb1	U+fe8e
  12.183 +0xb2	U+f8fb
  12.184 +0xb3	U+fe8f
  12.185 +0xb4	U+fe91
  12.186 +0xb5	U+fb56
  12.187 +0xb6	U+fb58
  12.188 +0xb7	U+fe93
  12.189 +0xb8	U+fe95
  12.190 +0xb9	U+fe97
  12.191 +0xba	U+fb66
  12.192 +0xbb	U+fb68
  12.193 +0xbc	U+fe99
  12.194 +0xbd	U+fe9b
  12.195 +0xbe	U+fe9d
  12.196 +0xbf	U+fe9f
  12.197 +0xc0	U+fb7a
  12.198 +0xc1	U+fb7c
  12.199 +0xc2	U+fea1
  12.200 +0xc3	U+fea3
  12.201 +0xc4	U+fea5
  12.202 +0xc5	U+fea7
  12.203 +0xc6	U+fea9
  12.204 +0xc7	U+fb88
  12.205 +0xc8	U+feab
  12.206 +0xc9	U+fead
  12.207 +0xca	U+fb8c
  12.208 +0xcb	U+feaf
  12.209 +0xcc	U+fb8a
  12.210 +0xcd	U+feb1
  12.211 +0xce	U+feb3
  12.212 +0xcf	U+feb5
  12.213 +0xd0	U+feb7
  12.214 +0xd1	U+feb9
  12.215 +0xd2	U+febb
  12.216 +0xd3	U+febd
  12.217 +0xd4	U+febf
  12.218 +0xd5	U+fec3
  12.219 +0xd6	U+fec7
  12.220 +0xd7	U+fec9
  12.221 +0xd8	U+feca
  12.222 +0xd9	U+fecb
  12.223 +0xda	U+fecc
  12.224 +0xdb	U+fecd
  12.225 +0xdc	U+fece
  12.226 +0xdd	U+fecf
  12.227 +0xde	U+fed0
  12.228 +0xdf	U+fed1
  12.229 +0xe0	U+fed3
  12.230 +0xe1	U+fed5
  12.231 +0xe2	U+fed7
  12.232 +0xe3	U+fb8e
  12.233 +0xe4	U+fedb
  12.234 +0xe5	U+fb92
  12.235 +0xe6	U+fb94
  12.236 +0xe7	U+fedd
  12.237 +0xe8	U+fedf
  12.238 +0xe9	U+fee0
  12.239 +0xea	U+fee1
  12.240 +0xeb	U+fee3
  12.241 +0xec	U+fb9e
  12.242 +0xed	U+fee5
  12.243 +0xee	U+fee7
  12.244 +0xef	U+fe85
  12.245 +0xf0	U+feed
  12.246 +0xf1	U+fba6
  12.247 +0xf2	U+fba8
  12.248 +0xf3	U+fba9
  12.249 +0xf4	U+fbaa
  12.250 +0xf5	U+fe80
  12.251 +0xf6	U+fe89
  12.252 +0xf7	U+fe8a
  12.253 +0xf8	U+fe8b
  12.254 +0xf9	U+fbfc
  12.255 +0xfa	U+fbfd
  12.256 +0xfb	U+fbfe
  12.257 +0xfc	U+fbb0
  12.258 +0xfd	U+fbae
  12.259 +0xfe	U+fe7c
  12.260 +0xff	U+fe7d
    13.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.2 +++ b/make/tools/CharsetMapping/IBM1025.c2b	Tue Jan 20 09:42:07 2009 -0800
    13.3 @@ -0,0 +1,1 @@
    13.4 +0x15	U+0085
    14.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.2 +++ b/make/tools/CharsetMapping/IBM1025.map	Tue Jan 20 09:42:07 2009 -0800
    14.3 @@ -0,0 +1,257 @@
    14.4 +#Generated from IBM1025.java
    14.5 +0x00	U+0000
    14.6 +0x01	U+0001
    14.7 +0x02	U+0002
    14.8 +0x03	U+0003
    14.9 +0x04	U+009c
   14.10 +0x05	U+0009
   14.11 +0x06	U+0086
   14.12 +0x07	U+007f
   14.13 +0x08	U+0097
   14.14 +0x09	U+008d
   14.15 +0x0a	U+008e
   14.16 +0x0b	U+000b
   14.17 +0x0c	U+000c
   14.18 +0x0d	U+000d
   14.19 +0x0e	U+000e
   14.20 +0x0f	U+000f
   14.21 +0x10	U+0010
   14.22 +0x11	U+0011
   14.23 +0x12	U+0012
   14.24 +0x13	U+0013
   14.25 +0x14	U+009d
   14.26 +0x15	U+000a
   14.27 +0x16	U+0008
   14.28 +0x17	U+0087
   14.29 +0x18	U+0018
   14.30 +0x19	U+0019
   14.31 +0x1a	U+0092
   14.32 +0x1b	U+008f
   14.33 +0x1c	U+001c
   14.34 +0x1d	U+001d
   14.35 +0x1e	U+001e
   14.36 +0x1f	U+001f
   14.37 +0x20	U+0080
   14.38 +0x21	U+0081
   14.39 +0x22	U+0082
   14.40 +0x23	U+0083
   14.41 +0x24	U+0084
   14.42 +0x25	U+000a
   14.43 +0x26	U+0017
   14.44 +0x27	U+001b
   14.45 +0x28	U+0088
   14.46 +0x29	U+0089
   14.47 +0x2a	U+008a
   14.48 +0x2b	U+008b
   14.49 +0x2c	U+008c
   14.50 +0x2d	U+0005
   14.51 +0x2e	U+0006
   14.52 +0x2f	U+0007
   14.53 +0x30	U+0090
   14.54 +0x31	U+0091
   14.55 +0x32	U+0016
   14.56 +0x33	U+0093
   14.57 +0x34	U+0094
   14.58 +0x35	U+0095
   14.59 +0x36	U+0096
   14.60 +0x37	U+0004
   14.61 +0x38	U+0098
   14.62 +0x39	U+0099
   14.63 +0x3a	U+009a
   14.64 +0x3b	U+009b
   14.65 +0x3c	U+0014
   14.66 +0x3d	U+0015
   14.67 +0x3e	U+009e
   14.68 +0x3f	U+001a
   14.69 +0x40	U+0020
   14.70 +0x41	U+00a0
   14.71 +0x42	U+0452
   14.72 +0x43	U+0453
   14.73 +0x44	U+0451
   14.74 +0x45	U+0454
   14.75 +0x46	U+0455
   14.76 +0x47	U+0456
   14.77 +0x48	U+0457
   14.78 +0x49	U+0458
   14.79 +0x4a	U+005b
   14.80 +0x4b	U+002e
   14.81 +0x4c	U+003c
   14.82 +0x4d	U+0028
   14.83 +0x4e	U+002b
   14.84 +0x4f	U+0021
   14.85 +0x50	U+0026
   14.86 +0x51	U+0459
   14.87 +0x52	U+045a
   14.88 +0x53	U+045b
   14.89 +0x54	U+045c
   14.90 +0x55	U+045e
   14.91 +0x56	U+045f
   14.92 +0x57	U+042a
   14.93 +0x58	U+2116
   14.94 +0x59	U+0402
   14.95 +0x5a	U+005d
   14.96 +0x5b	U+0024
   14.97 +0x5c	U+002a
   14.98 +0x5d	U+0029
   14.99 +0x5e	U+003b
  14.100 +0x5f	U+005e
  14.101 +0x60	U+002d
  14.102 +0x61	U+002f
  14.103 +0x62	U+0403
  14.104 +0x63	U+0401
  14.105 +0x64	U+0404
  14.106 +0x65	U+0405
  14.107 +0x66	U+0406
  14.108 +0x67	U+0407
  14.109 +0x68	U+0408
  14.110 +0x69	U+0409
  14.111 +0x6a	U+007c
  14.112 +0x6b	U+002c
  14.113 +0x6c	U+0025
  14.114 +0x6d	U+005f
  14.115 +0x6e	U+003e
  14.116 +0x6f	U+003f
  14.117 +0x70	U+040a
  14.118 +0x71	U+040b
  14.119 +0x72	U+040c
  14.120 +0x73	U+00ad
  14.121 +0x74	U+040e
  14.122 +0x75	U+040f
  14.123 +0x76	U+044e
  14.124 +0x77	U+0430
  14.125 +0x78	U+0431
  14.126 +0x79	U+0060
  14.127 +0x7a	U+003a
  14.128 +0x7b	U+0023
  14.129 +0x7c	U+0040
  14.130 +0x7d	U+0027
  14.131 +0x7e	U+003d
  14.132 +0x7f	U+0022
  14.133 +0x80	U+0446
  14.134 +0x81	U+0061
  14.135 +0x82	U+0062
  14.136 +0x83	U+0063
  14.137 +0x84	U+0064
  14.138 +0x85	U+0065
  14.139 +0x86	U+0066
  14.140 +0x87	U+0067
  14.141 +0x88	U+0068
  14.142 +0x89	U+0069
  14.143 +0x8a	U+0434
  14.144 +0x8b	U+0435
  14.145 +0x8c	U+0444
  14.146 +0x8d	U+0433
  14.147 +0x8e	U+0445
  14.148 +0x8f	U+0438
  14.149 +0x90	U+0439
  14.150 +0x91	U+006a
  14.151 +0x92	U+006b
  14.152 +0x93	U+006c
  14.153 +0x94	U+006d
  14.154 +0x95	U+006e
  14.155 +0x96	U+006f
  14.156 +0x97	U+0070
  14.157 +0x98	U+0071
  14.158 +0x99	U+0072
  14.159 +0x9a	U+043a
  14.160 +0x9b	U+043b
  14.161 +0x9c	U+043c
  14.162 +0x9d	U+043d
  14.163 +0x9e	U+043e
  14.164 +0x9f	U+043f
  14.165 +0xa0	U+044f
  14.166 +0xa1	U+007e
  14.167 +0xa2	U+0073
  14.168 +0xa3	U+0074
  14.169 +0xa4	U+0075
  14.170 +0xa5	U+0076
  14.171 +0xa6	U+0077
  14.172 +0xa7	U+0078
  14.173 +0xa8	U+0079
  14.174 +0xa9	U+007a
  14.175 +0xaa	U+0440
  14.176 +0xab	U+0441
  14.177 +0xac	U+0442
  14.178 +0xad	U+0443
  14.179 +0xae	U+0436
  14.180 +0xaf	U+0432
  14.181 +0xb0	U+044c
  14.182 +0xb1	U+044b
  14.183 +0xb2	U+0437
  14.184 +0xb3	U+0448
  14.185 +0xb4	U+044d
  14.186 +0xb5	U+0449
  14.187 +0xb6	U+0447
  14.188 +0xb7	U+044a
  14.189 +0xb8	U+042e
  14.190 +0xb9	U+0410
  14.191 +0xba	U+0411
  14.192 +0xbb	U+0426
  14.193 +0xbc	U+0414
  14.194 +0xbd	U+0415
  14.195 +0xbe	U+0424
  14.196 +0xbf	U+0413
  14.197 +0xc0	U+007b
  14.198 +0xc1	U+0041
  14.199 +0xc2	U+0042
  14.200 +0xc3	U+0043
  14.201 +0xc4	U+0044
  14.202 +0xc5	U+0045
  14.203 +0xc6	U+0046
  14.204 +0xc7	U+0047
  14.205 +0xc8	U+0048
  14.206 +0xc9	U+0049
  14.207 +0xca	U+0425
  14.208 +0xcb	U+0418
  14.209 +0xcc	U+0419
  14.210 +0xcd	U+041a
  14.211 +0xce	U+041b
  14.212 +0xcf	U+041c
  14.213 +0xd0	U+007d
  14.214 +0xd1	U+004a
  14.215 +0xd2	U+004b
  14.216 +0xd3	U+004c
  14.217 +0xd4	U+004d
  14.218 +0xd5	U+004e
  14.219 +0xd6	U+004f
  14.220 +0xd7	U+0050
  14.221 +0xd8	U+0051
  14.222 +0xd9	U+0052
  14.223 +0xda	U+041d
  14.224 +0xdb	U+041e
  14.225 +0xdc	U+041f
  14.226 +0xdd	U+042f
  14.227 +0xde	U+0420
  14.228 +0xdf	U+0421
  14.229 +0xe0	U+005c
  14.230 +0xe1	U+00a7
  14.231 +0xe2	U+0053
  14.232 +0xe3	U+0054
  14.233 +0xe4	U+0055
  14.234 +0xe5	U+0056
  14.235 +0xe6	U+0057
  14.236 +0xe7	U+0058
  14.237 +0xe8	U+0059
  14.238 +0xe9	U+005a
  14.239 +0xea	U+0422
  14.240 +0xeb	U+0423
  14.241 +0xec	U+0416
  14.242 +0xed	U+0412
  14.243 +0xee	U+042c
  14.244 +0xef	U+042b
  14.245 +0xf0	U+0030
  14.246 +0xf1	U+0031
  14.247 +0xf2	U+0032
  14.248 +0xf3	U+0033
  14.249 +0xf4	U+0034
  14.250 +0xf5	U+0035
  14.251 +0xf6	U+0036
  14.252 +0xf7	U+0037
  14.253 +0xf8	U+0038
  14.254 +0xf9	U+0039
  14.255 +0xfa	U+0417
  14.256 +0xfb	U+0428
  14.257 +0xfc	U+042d
  14.258 +0xfd	U+0429
  14.259 +0xfe	U+0427
  14.260 +0xff	U+009f
    15.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.2 +++ b/make/tools/CharsetMapping/IBM1025.nr	Tue Jan 20 09:42:07 2009 -0800
    15.3 @@ -0,0 +1,1 @@
    15.4 +0x25	U+000a
    16.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.2 +++ b/make/tools/CharsetMapping/IBM1026.c2b	Tue Jan 20 09:42:07 2009 -0800
    16.3 @@ -0,0 +1,1 @@
    16.4 +0x15	U+0085
    17.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.2 +++ b/make/tools/CharsetMapping/IBM1026.map	Tue Jan 20 09:42:07 2009 -0800
    17.3 @@ -0,0 +1,257 @@
    17.4 +#Generated from IBM1026.java
    17.5 +0x00	U+0000
    17.6 +0x01	U+0001
    17.7 +0x02	U+0002
    17.8 +0x03	U+0003
    17.9 +0x04	U+009c
   17.10 +0x05	U+0009
   17.11 +0x06	U+0086
   17.12 +0x07	U+007f
   17.13 +0x08	U+0097
   17.14 +0x09	U+008d
   17.15 +0x0a	U+008e
   17.16 +0x0b	U+000b
   17.17 +0x0c	U+000c
   17.18 +0x0d	U+000d
   17.19 +0x0e	U+000e
   17.20 +0x0f	U+000f
   17.21 +0x10	U+0010
   17.22 +0x11	U+0011
   17.23 +0x12	U+0012
   17.24 +0x13	U+0013
   17.25 +0x14	U+009d
   17.26 +0x15	U+000a
   17.27 +0x16	U+0008
   17.28 +0x17	U+0087
   17.29 +0x18	U+0018
   17.30 +0x19	U+0019
   17.31 +0x1a	U+0092
   17.32 +0x1b	U+008f
   17.33 +0x1c	U+001c
   17.34 +0x1d	U+001d
   17.35 +0x1e	U+001e
   17.36 +0x1f	U+001f
   17.37 +0x20	U+0080
   17.38 +0x21	U+0081
   17.39 +0x22	U+0082
   17.40 +0x23	U+0083
   17.41 +0x24	U+0084
   17.42 +0x25	U+000a
   17.43 +0x26	U+0017
   17.44 +0x27	U+001b
   17.45 +0x28	U+0088
   17.46 +0x29	U+0089
   17.47 +0x2a	U+008a
   17.48 +0x2b	U+008b
   17.49 +0x2c	U+008c
   17.50 +0x2d	U+0005
   17.51 +0x2e	U+0006
   17.52 +0x2f	U+0007
   17.53 +0x30	U+0090
   17.54 +0x31	U+0091
   17.55 +0x32	U+0016
   17.56 +0x33	U+0093
   17.57 +0x34	U+0094
   17.58 +0x35	U+0095
   17.59 +0x36	U+0096
   17.60 +0x37	U+0004
   17.61 +0x38	U+0098
   17.62 +0x39	U+0099
   17.63 +0x3a	U+009a
   17.64 +0x3b	U+009b
   17.65 +0x3c	U+0014
   17.66 +0x3d	U+0015
   17.67 +0x3e	U+009e
   17.68 +0x3f	U+001a
   17.69 +0x40	U+0020
   17.70 +0x41	U+00a0
   17.71 +0x42	U+00e2
   17.72 +0x43	U+00e4
   17.73 +0x44	U+00e0
   17.74 +0x45	U+00e1
   17.75 +0x46	U+00e3
   17.76 +0x47	U+00e5
   17.77 +0x48	U+007b
   17.78 +0x49	U+00f1
   17.79 +0x4a	U+00c7
   17.80 +0x4b	U+002e
   17.81 +0x4c	U+003c
   17.82 +0x4d	U+0028
   17.83 +0x4e	U+002b
   17.84 +0x4f	U+0021
   17.85 +0x50	U+0026
   17.86 +0x51	U+00e9
   17.87 +0x52	U+00ea
   17.88 +0x53	U+00eb
   17.89 +0x54	U+00e8
   17.90 +0x55	U+00ed
   17.91 +0x56	U+00ee
   17.92 +0x57	U+00ef
   17.93 +0x58	U+00ec
   17.94 +0x59	U+00df
   17.95 +0x5a	U+011e
   17.96 +0x5b	U+0130
   17.97 +0x5c	U+002a
   17.98 +0x5d	U+0029
   17.99 +0x5e	U+003b
  17.100 +0x5f	U+005e
  17.101 +0x60	U+002d
  17.102 +0x61	U+002f
  17.103 +0x62	U+00c2
  17.104 +0x63	U+00c4
  17.105 +0x64	U+00c0
  17.106 +0x65	U+00c1
  17.107 +0x66	U+00c3
  17.108 +0x67	U+00c5
  17.109 +0x68	U+005b
  17.110 +0x69	U+00d1
  17.111 +0x6a	U+015f
  17.112 +0x6b	U+002c
  17.113 +0x6c	U+0025
  17.114 +0x6d	U+005f
  17.115 +0x6e	U+003e
  17.116 +0x6f	U+003f
  17.117 +0x70	U+00f8
  17.118 +0x71	U+00c9
  17.119 +0x72	U+00ca
  17.120 +0x73	U+00cb
  17.121 +0x74	U+00c8
  17.122 +0x75	U+00cd
  17.123 +0x76	U+00ce
  17.124 +0x77	U+00cf
  17.125 +0x78	U+00cc
  17.126 +0x79	U+0131
  17.127 +0x7a	U+003a
  17.128 +0x7b	U+00d6
  17.129 +0x7c	U+015e
  17.130 +0x7d	U+0027
  17.131 +0x7e	U+003d
  17.132 +0x7f	U+00dc
  17.133 +0x80	U+00d8
  17.134 +0x81	U+0061
  17.135 +0x82	U+0062
  17.136 +0x83	U+0063
  17.137 +0x84	U+0064
  17.138 +0x85	U+0065
  17.139 +0x86	U+0066
  17.140 +0x87	U+0067
  17.141 +0x88	U+0068
  17.142 +0x89	U+0069
  17.143 +0x8a	U+00ab
  17.144 +0x8b	U+00bb
  17.145 +0x8c	U+007d
  17.146 +0x8d	U+0060
  17.147 +0x8e	U+00a6
  17.148 +0x8f	U+00b1
  17.149 +0x90	U+00b0
  17.150 +0x91	U+006a
  17.151 +0x92	U+006b
  17.152 +0x93	U+006c
  17.153 +0x94	U+006d
  17.154 +0x95	U+006e
  17.155 +0x96	U+006f
  17.156 +0x97	U+0070
  17.157 +0x98	U+0071
  17.158 +0x99	U+0072
  17.159 +0x9a	U+00aa
  17.160 +0x9b	U+00ba
  17.161 +0x9c	U+00e6
  17.162 +0x9d	U+00b8
  17.163 +0x9e	U+00c6
  17.164 +0x9f	U+00a4
  17.165 +0xa0	U+00b5
  17.166 +0xa1	U+00f6
  17.167 +0xa2	U+0073
  17.168 +0xa3	U+0074
  17.169 +0xa4	U+0075
  17.170 +0xa5	U+0076
  17.171 +0xa6	U+0077
  17.172 +0xa7	U+0078
  17.173 +0xa8	U+0079
  17.174 +0xa9	U+007a
  17.175 +0xaa	U+00a1
  17.176 +0xab	U+00bf
  17.177 +0xac	U+005d
  17.178 +0xad	U+0024
  17.179 +0xae	U+0040
  17.180 +0xaf	U+00ae
  17.181 +0xb0	U+00a2
  17.182 +0xb1	U+00a3
  17.183 +0xb2	U+00a5
  17.184 +0xb3	U+00b7
  17.185 +0xb4	U+00a9
  17.186 +0xb5	U+00a7
  17.187 +0xb6	U+00b6
  17.188 +0xb7	U+00bc
  17.189 +0xb8	U+00bd
  17.190 +0xb9	U+00be
  17.191 +0xba	U+00ac
  17.192 +0xbb	U+007c
  17.193 +0xbc	U+00af
  17.194 +0xbd	U+00a8
  17.195 +0xbe	U+00b4
  17.196 +0xbf	U+00d7
  17.197 +0xc0	U+00e7
  17.198 +0xc1	U+0041
  17.199 +0xc2	U+0042
  17.200 +0xc3	U+0043
  17.201 +0xc4	U+0044
  17.202 +0xc5	U+0045
  17.203 +0xc6	U+0046
  17.204 +0xc7	U+0047
  17.205 +0xc8	U+0048
  17.206 +0xc9	U+0049
  17.207 +0xca	U+00ad
  17.208 +0xcb	U+00f4
  17.209 +0xcc	U+007e
  17.210 +0xcd	U+00f2
  17.211 +0xce	U+00f3
  17.212 +0xcf	U+00f5
  17.213 +0xd0	U+011f
  17.214 +0xd1	U+004a
  17.215 +0xd2	U+004b
  17.216 +0xd3	U+004c
  17.217 +0xd4	U+004d
  17.218 +0xd5	U+004e
  17.219 +0xd6	U+004f
  17.220 +0xd7	U+0050
  17.221 +0xd8	U+0051
  17.222 +0xd9	U+0052
  17.223 +0xda	U+00b9
  17.224 +0xdb	U+00fb
  17.225 +0xdc	U+005c
  17.226 +0xdd	U+00f9
  17.227 +0xde	U+00fa
  17.228 +0xdf	U+00ff
  17.229 +0xe0	U+00fc
  17.230 +0xe1	U+00f7
  17.231 +0xe2	U+0053
  17.232 +0xe3	U+0054
  17.233 +0xe4	U+0055
  17.234 +0xe5	U+0056
  17.235 +0xe6	U+0057
  17.236 +0xe7	U+0058
  17.237 +0xe8	U+0059
  17.238 +0xe9	U+005a
  17.239 +0xea	U+00b2
  17.240 +0xeb	U+00d4
  17.241 +0xec	U+0023
  17.242 +0xed	U+00d2
  17.243 +0xee	U+00d3
  17.244 +0xef	U+00d5
  17.245 +0xf0	U+0030
  17.246 +0xf1	U+0031
  17.247 +0xf2	U+0032
  17.248 +0xf3	U+0033
  17.249 +0xf4	U+0034
  17.250 +0xf5	U+0035
  17.251 +0xf6	U+0036
  17.252 +0xf7	U+0037
  17.253 +0xf8	U+0038
  17.254 +0xf9	U+0039
  17.255 +0xfa	U+00b3
  17.256 +0xfb	U+00db
  17.257 +0xfc	U+0022
  17.258 +0xfd	U+00d9
  17.259 +0xfe	U+00da
  17.260 +0xff	U+009f
    18.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.2 +++ b/make/tools/CharsetMapping/IBM1026.nr	Tue Jan 20 09:42:07 2009 -0800
    18.3 @@ -0,0 +1,1 @@
    18.4 +0x25	U+000a
    19.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.2 +++ b/make/tools/CharsetMapping/IBM1046.map	Tue Jan 20 09:42:07 2009 -0800
    19.3 @@ -0,0 +1,257 @@
    19.4 +#Generated from IBM1046.java
    19.5 +0x00	U+0000
    19.6 +0x01	U+0001
    19.7 +0x02	U+0002
    19.8 +0x03	U+0003
    19.9 +0x04	U+0004
   19.10 +0x05	U+0005
   19.11 +0x06	U+0006
   19.12 +0x07	U+0007
   19.13 +0x08	U+0008
   19.14 +0x09	U+0009
   19.15 +0x0a	U+000a
   19.16 +0x0b	U+000b
   19.17 +0x0c	U+000c
   19.18 +0x0d	U+000d
   19.19 +0x0e	U+000e
   19.20 +0x0f	U+000f
   19.21 +0x10	U+0010
   19.22 +0x11	U+0011
   19.23 +0x12	U+0012
   19.24 +0x13	U+0013
   19.25 +0x14	U+0014
   19.26 +0x15	U+0015
   19.27 +0x16	U+0016
   19.28 +0x17	U+0017
   19.29 +0x18	U+0018
   19.30 +0x19	U+0019
   19.31 +0x1a	U+001a
   19.32 +0x1b	U+001b
   19.33 +0x1c	U+001c
   19.34 +0x1d	U+001d
   19.35 +0x1e	U+001e
   19.36 +0x1f	U+001f
   19.37 +0x20	U+0020
   19.38 +0x21	U+0021
   19.39 +0x22	U+0022
   19.40 +0x23	U+0023
   19.41 +0x24	U+0024
   19.42 +0x25	U+0025
   19.43 +0x26	U+0026
   19.44 +0x27	U+0027
   19.45 +0x28	U+0028
   19.46 +0x29	U+0029
   19.47 +0x2a	U+002a
   19.48 +0x2b	U+002b
   19.49 +0x2c	U+002c
   19.50 +0x2d	U+002d
   19.51 +0x2e	U+002e
   19.52 +0x2f	U+002f
   19.53 +0x30	U+0030
   19.54 +0x31	U+0031
   19.55 +0x32	U+0032
   19.56 +0x33	U+0033
   19.57 +0x34	U+0034
   19.58 +0x35	U+0035
   19.59 +0x36	U+0036
   19.60 +0x37	U+0037
   19.61 +0x38	U+0038
   19.62 +0x39	U+0039
   19.63 +0x3a	U+003a
   19.64 +0x3b	U+003b
   19.65 +0x3c	U+003c
   19.66 +0x3d	U+003d
   19.67 +0x3e	U+003e
   19.68 +0x3f	U+003f
   19.69 +0x40	U+0040
   19.70 +0x41	U+0041
   19.71 +0x42	U+0042
   19.72 +0x43	U+0043
   19.73 +0x44	U+0044
   19.74 +0x45	U+0045
   19.75 +0x46	U+0046
   19.76 +0x47	U+0047
   19.77 +0x48	U+0048
   19.78 +0x49	U+0049
   19.79 +0x4a	U+004a
   19.80 +0x4b	U+004b
   19.81 +0x4c	U+004c
   19.82 +0x4d	U+004d
   19.83 +0x4e	U+004e
   19.84 +0x4f	U+004f
   19.85 +0x50	U+0050
   19.86 +0x51	U+0051
   19.87 +0x52	U+0052
   19.88 +0x53	U+0053
   19.89 +0x54	U+0054
   19.90 +0x55	U+0055
   19.91 +0x56	U+0056
   19.92 +0x57	U+0057
   19.93 +0x58	U+0058
   19.94 +0x59	U+0059
   19.95 +0x5a	U+005a
   19.96 +0x5b	U+005b
   19.97 +0x5c	U+005c
   19.98 +0x5d	U+005d
   19.99 +0x5e	U+005e
  19.100 +0x5f	U+005f
  19.101 +0x60	U+0060
  19.102 +0x61	U+0061
  19.103 +0x62	U+0062
  19.104 +0x63	U+0063
  19.105 +0x64	U+0064
  19.106 +0x65	U+0065
  19.107 +0x66	U+0066
  19.108 +0x67	U+0067
  19.109 +0x68	U+0068
  19.110 +0x69	U+0069
  19.111 +0x6a	U+006a
  19.112 +0x6b	U+006b
  19.113 +0x6c	U+006c
  19.114 +0x6d	U+006d
  19.115 +0x6e	U+006e
  19.116 +0x6f	U+006f
  19.117 +0x70	U+0070
  19.118 +0x71	U+0071
  19.119 +0x72	U+0072
  19.120 +0x73	U+0073
  19.121 +0x74	U+0074
  19.122 +0x75	U+0075
  19.123 +0x76	U+0076
  19.124 +0x77	U+0077
  19.125 +0x78	U+0078
  19.126 +0x79	U+0079
  19.127 +0x7a	U+007a
  19.128 +0x7b	U+007b
  19.129 +0x7c	U+007c
  19.130 +0x7d	U+007d
  19.131 +0x7e	U+007e
  19.132 +0x7f	U+007f
  19.133 +0x80	U+fe88
  19.134 +0x81	U+00d7
  19.135 +0x82	U+00f7
  19.136 +0x83	U+f8f6
  19.137 +0x84	U+f8f5
  19.138 +0x85	U+f8f4
  19.139 +0x86	U+f8f7
  19.140 +0x87	U+fe71
  19.141 +0x88	U+0088
  19.142 +0x89	U+25a0
  19.143 +0x8a	U+2502
  19.144 +0x8b	U+2500
  19.145 +0x8c	U+2510
  19.146 +0x8d	U+250c
  19.147 +0x8e	U+2514
  19.148 +0x8f	U+2518
  19.149 +0x90	U+fe79
  19.150 +0x91	U+fe7b
  19.151 +0x92	U+fe7d
  19.152 +0x93	U+fe7f
  19.153 +0x94	U+fe77
  19.154 +0x95	U+fe8a
  19.155 +0x96	U+fef0
  19.156 +0x97	U+fef3
  19.157 +0x98	U+fef2
  19.158 +0x99	U+fece
  19.159 +0x9a	U+fecf
  19.160 +0x9b	U+fed0
  19.161 +0x9c	U+fef6
  19.162 +0x9d	U+fef8
  19.163 +0x9e	U+fefa
  19.164 +0x9f	U+fefc
  19.165 +0xa0	U+00a0
  19.166 +0xa1	U+f8fa
  19.167 +0xa2	U+f8f9
  19.168 +0xa3	U+f8f8
  19.169 +0xa4	U+00a4
  19.170 +0xa5	U+f8fb
  19.171 +0xa6	U+fe8b
  19.172 +0xa7	U+fe91
  19.173 +0xa8	U+fe97
  19.174 +0xa9	U+fe9b
  19.175 +0xaa	U+fe9f
  19.176 +0xab	U+fea3
  19.177 +0xac	U+060c
  19.178 +0xad	U+00ad
  19.179 +0xae	U+fea7
  19.180 +0xaf	U+feb3
  19.181 +0xb0	U+0660
  19.182 +0xb1	U+0661
  19.183 +0xb2	U+0662
  19.184 +0xb3	U+0663
  19.185 +0xb4	U+0664
  19.186 +0xb5	U+0665
  19.187 +0xb6	U+0666
  19.188 +0xb7	U+0667
  19.189 +0xb8	U+0668
  19.190 +0xb9	U+0669
  19.191 +0xba	U+feb7
  19.192 +0xbb	U+061b
  19.193 +0xbc	U+febb
  19.194 +0xbd	U+febf
  19.195 +0xbe	U+feca
  19.196 +0xbf	U+061f
  19.197 +0xc0	U+fecb
  19.198 +0xc1	U+fe80
  19.199 +0xc2	U+fe81
  19.200 +0xc3	U+fe83
  19.201 +0xc4	U+fe85
  19.202 +0xc5	U+fe87
  19.203 +0xc6	U+fe89
  19.204 +0xc7	U+fe8d
  19.205 +0xc8	U+fe8f
  19.206 +0xc9	U+fe93
  19.207 +0xca	U+fe95
  19.208 +0xcb	U+fe99
  19.209 +0xcc	U+fe9d
  19.210 +0xcd	U+fea1
  19.211 +0xce	U+fea5
  19.212 +0xcf	U+fea9
  19.213 +0xd0	U+feab
  19.214 +0xd1	U+fead
  19.215 +0xd2	U+feaf
  19.216 +0xd3	U+feb1
  19.217 +0xd4	U+feb5
  19.218 +0xd5	U+feb9
  19.219 +0xd6	U+febd
  19.220 +0xd7	U+fec3
  19.221 +0xd8	U+fec7
  19.222 +0xd9	U+fec9
  19.223 +0xda	U+fecd
  19.224 +0xdb	U+fecc
  19.225 +0xdc	U+fe82
  19.226 +0xdd	U+fe84
  19.227 +0xde	U+fe8e
  19.228 +0xdf	U+fed3
  19.229 +0xe0	U+0640
  19.230 +0xe1	U+fed1
  19.231 +0xe2	U+fed5
  19.232 +0xe3	U+fed9
  19.233 +0xe4	U+fedd
  19.234 +0xe5	U+fee1
  19.235 +0xe6	U+fee5
  19.236 +0xe7	U+feeb
  19.237 +0xe8	U+feed
  19.238 +0xe9	U+feef
  19.239 +0xea	U+fef1
  19.240 +0xeb	U+fe70
  19.241 +0xec	U+fe72
  19.242 +0xed	U+fe74
  19.243 +0xee	U+fe76
  19.244 +0xef	U+fe78
  19.245 +0xf0	U+fe7a
  19.246 +0xf1	U+fe7c
  19.247 +0xf2	U+fe7e
  19.248 +0xf3	U+fed7
  19.249 +0xf4	U+fedb
  19.250 +0xf5	U+fedf
  19.251 +0xf6	U+f8fc
  19.252 +0xf7	U+fef5
  19.253 +0xf8	U+fef7
  19.254 +0xf9	U+fef9
  19.255 +0xfa	U+fefb
  19.256 +0xfb	U+fee3
  19.257 +0xfc	U+fee7
  19.258 +0xfd	U+feec
  19.259 +0xfe	U+fee9
  19.260 +0xff	U+fffd
    20.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    20.2 +++ b/make/tools/CharsetMapping/IBM1047.map	Tue Jan 20 09:42:07 2009 -0800
    20.3 @@ -0,0 +1,257 @@
    20.4 +#Generated from IBM1047.java
    20.5 +0x00	U+0000
    20.6 +0x01	U+0001
    20.7 +0x02	U+0002
    20.8 +0x03	U+0003
    20.9 +0x04	U+009c
   20.10 +0x05	U+0009
   20.11 +0x06	U+0086
   20.12 +0x07	U+007f
   20.13 +0x08	U+0097
   20.14 +0x09	U+008d
   20.15 +0x0a	U+008e
   20.16 +0x0b	U+000b
   20.17 +0x0c	U+000c
   20.18 +0x0d	U+000d
   20.19 +0x0e	U+000e
   20.20 +0x0f	U+000f
   20.21 +0x10	U+0010
   20.22 +0x11	U+0011
   20.23 +0x12	U+0012
   20.24 +0x13	U+0013
   20.25 +0x14	U+009d
   20.26 +0x15	U+000a
   20.27 +0x16	U+0008
   20.28 +0x17	U+0087
   20.29 +0x18	U+0018
   20.30 +0x19	U+0019
   20.31 +0x1a	U+0092
   20.32 +0x1b	U+008f
   20.33 +0x1c	U+001c
   20.34 +0x1d	U+001d
   20.35 +0x1e	U+001e
   20.36 +0x1f	U+001f
   20.37 +0x20	U+0080
   20.38 +0x21	U+0081
   20.39 +0x22	U+0082
   20.40 +0x23	U+0083
   20.41 +0x24	U+0084
   20.42 +0x25	U+0085
   20.43 +0x26	U+0017
   20.44 +0x27	U+001b
   20.45 +0x28	U+0088
   20.46 +0x29	U+0089
   20.47 +0x2a	U+008a
   20.48 +0x2b	U+008b
   20.49 +0x2c	U+008c
   20.50 +0x2d	U+0005
   20.51 +0x2e	U+0006
   20.52 +0x2f	U+0007
   20.53 +0x30	U+0090
   20.54 +0x31	U+0091
   20.55 +0x32	U+0016
   20.56 +0x33	U+0093
   20.57 +0x34	U+0094
   20.58 +0x35	U+0095
   20.59 +0x36	U+0096
   20.60 +0x37	U+0004
   20.61 +0x38	U+0098
   20.62 +0x39	U+0099
   20.63 +0x3a	U+009a
   20.64 +0x3b	U+009b
   20.65 +0x3c	U+0014
   20.66 +0x3d	U+0015
   20.67 +0x3e	U+009e
   20.68 +0x3f	U+001a
   20.69 +0x40	U+0020
   20.70 +0x41	U+00a0
   20.71 +0x42	U+00e2
   20.72 +0x43	U+00e4
   20.73 +0x44	U+00e0
   20.74 +0x45	U+00e1
   20.75 +0x46	U+00e3
   20.76 +0x47	U+00e5
   20.77 +0x48	U+00e7
   20.78 +0x49	U+00f1
   20.79 +0x4a	U+00a2
   20.80 +0x4b	U+002e
   20.81 +0x4c	U+003c
   20.82 +0x4d	U+0028
   20.83 +0x4e	U+002b
   20.84 +0x4f	U+007c
   20.85 +0x50	U+0026
   20.86 +0x51	U+00e9
   20.87 +0x52	U+00ea
   20.88 +0x53	U+00eb
   20.89 +0x54	U+00e8
   20.90 +0x55	U+00ed
   20.91 +0x56	U+00ee
   20.92 +0x57	U+00ef
   20.93 +0x58	U+00ec
   20.94 +0x59	U+00df
   20.95 +0x5a	U+0021
   20.96 +0x5b	U+0024
   20.97 +0x5c	U+002a
   20.98 +0x5d	U+0029
   20.99 +0x5e	U+003b
  20.100 +0x5f	U+005e
  20.101 +0x60	U+002d
  20.102 +0x61	U+002f
  20.103 +0x62	U+00c2
  20.104 +0x63	U+00c4
  20.105 +0x64	U+00c0
  20.106 +0x65	U+00c1
  20.107 +0x66	U+00c3
  20.108 +0x67	U+00c5
  20.109 +0x68	U+00c7
  20.110 +0x69	U+00d1
  20.111 +0x6a	U+00a6
  20.112 +0x6b	U+002c
  20.113 +0x6c	U+0025
  20.114 +0x6d	U+005f
  20.115 +0x6e	U+003e
  20.116 +0x6f	U+003f
  20.117 +0x70	U+00f8
  20.118 +0x71	U+00c9
  20.119 +0x72	U+00ca
  20.120 +0x73	U+00cb
  20.121 +0x74	U+00c8
  20.122 +0x75	U+00cd
  20.123 +0x76	U+00ce
  20.124 +0x77	U+00cf
  20.125 +0x78	U+00cc
  20.126 +0x79	U+0060
  20.127 +0x7a	U+003a
  20.128 +0x7b	U+0023
  20.129 +0x7c	U+0040
  20.130 +0x7d	U+0027
  20.131 +0x7e	U+003d
  20.132 +0x7f	U+0022
  20.133 +0x80	U+00d8
  20.134 +0x81	U+0061
  20.135 +0x82	U+0062
  20.136 +0x83	U+0063
  20.137 +0x84	U+0064
  20.138 +0x85	U+0065
  20.139 +0x86	U+0066
  20.140 +0x87	U+0067
  20.141 +0x88	U+0068
  20.142 +0x89	U+0069
  20.143 +0x8a	U+00ab
  20.144 +0x8b	U+00bb
  20.145 +0x8c	U+00f0
  20.146 +0x8d	U+00fd
  20.147 +0x8e	U+00fe
  20.148 +0x8f	U+00b1
  20.149 +0x90	U+00b0
  20.150 +0x91	U+006a
  20.151 +0x92	U+006b
  20.152 +0x93	U+006c
  20.153 +0x94	U+006d
  20.154 +0x95	U+006e
  20.155 +0x96	U+006f
  20.156 +0x97	U+0070
  20.157 +0x98	U+0071
  20.158 +0x99	U+0072
  20.159 +0x9a	U+00aa
  20.160 +0x9b	U+00ba
  20.161 +0x9c	U+00e6
  20.162 +0x9d	U+00b8
  20.163 +0x9e	U+00c6
  20.164 +0x9f	U+00a4
  20.165 +0xa0	U+00b5
  20.166 +0xa1	U+007e
  20.167 +0xa2	U+0073
  20.168 +0xa3	U+0074
  20.169 +0xa4	U+0075
  20.170 +0xa5	U+0076
  20.171 +0xa6	U+0077
  20.172 +0xa7	U+0078
  20.173 +0xa8	U+0079
  20.174 +0xa9	U+007a
  20.175 +0xaa	U+00a1
  20.176 +0xab	U+00bf
  20.177 +0xac	U+00d0
  20.178 +0xad	U+005b
  20.179 +0xae	U+00de
  20.180 +0xaf	U+00ae
  20.181 +0xb0	U+00ac
  20.182 +0xb1	U+00a3
  20.183 +0xb2	U+00a5
  20.184 +0xb3	U+00b7
  20.185 +0xb4	U+00a9
  20.186 +0xb5	U+00a7
  20.187 +0xb6	U+00b6
  20.188 +0xb7	U+00bc
  20.189 +0xb8	U+00bd
  20.190 +0xb9	U+00be
  20.191 +0xba	U+00dd
  20.192 +0xbb	U+00a8
  20.193 +0xbc	U+00af
  20.194 +0xbd	U+005d
  20.195 +0xbe	U+00b4
  20.196 +0xbf	U+00d7
  20.197 +0xc0	U+007b
  20.198 +0xc1	U+0041
  20.199 +0xc2	U+0042
  20.200 +0xc3	U+0043
  20.201 +0xc4	U+0044
  20.202 +0xc5	U+0045
  20.203 +0xc6	U+0046
  20.204 +0xc7	U+0047
  20.205 +0xc8	U+0048
  20.206 +0xc9	U+0049
  20.207 +0xca	U+00ad
  20.208 +0xcb	U+00f4
  20.209 +0xcc	U+00f6
  20.210 +0xcd	U+00f2
  20.211 +0xce	U+00f3
  20.212 +0xcf	U+00f5
  20.213 +0xd0	U+007d
  20.214 +0xd1	U+004a
  20.215 +0xd2	U+004b
  20.216 +0xd3	U+004c
  20.217 +0xd4	U+004d
  20.218 +0xd5	U+004e
  20.219 +0xd6	U+004f
  20.220 +0xd7	U+0050
  20.221 +0xd8	U+0051
  20.222 +0xd9	U+0052
  20.223 +0xda	U+00b9
  20.224 +0xdb	U+00fb
  20.225 +0xdc	U+00fc
  20.226 +0xdd	U+00f9
  20.227 +0xde	U+00fa
  20.228 +0xdf	U+00ff
  20.229 +0xe0	U+005c
  20.230 +0xe1	U+00f7
  20.231 +0xe2	U+0053
  20.232 +0xe3	U+0054
  20.233 +0xe4	U+0055
  20.234 +0xe5	U+0056
  20.235 +0xe6	U+0057
  20.236 +0xe7	U+0058
  20.237 +0xe8	U+0059
  20.238 +0xe9	U+005a
  20.239 +0xea	U+00b2
  20.240 +0xeb	U+00d4
  20.241 +0xec	U+00d6
  20.242 +0xed	U+00d2
  20.243 +0xee	U+00d3
  20.244 +0xef	U+00d5
  20.245 +0xf0	U+0030
  20.246 +0xf1	U+0031
  20.247 +0xf2	U+0032
  20.248 +0xf3	U+0033
  20.249 +0xf4	U+0034
  20.250 +0xf5	U+0035
  20.251 +0xf6	U+0036
  20.252 +0xf7	U+0037
  20.253 +0xf8	U+0038
  20.254 +0xf9	U+0039
  20.255 +0xfa	U+00b3
  20.256 +0xfb	U+00db
  20.257 +0xfc	U+00dc
  20.258 +0xfd	U+00d9
  20.259 +0xfe	U+00da
  20.260 +0xff	U+009f
    21.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    21.2 +++ b/make/tools/CharsetMapping/IBM1097.map	Tue Jan 20 09:42:07 2009 -0800
    21.3 @@ -0,0 +1,257 @@
    21.4 +#Generated from IBM1097.java
    21.5 +0x00	U+0000
    21.6 +0x01	U+0001
    21.7 +0x02	U+0002
    21.8 +0x03	U+0003
    21.9 +0x04	U+009c
   21.10 +0x05	U+0009
   21.11 +0x06	U+0086
   21.12 +0x07	U+007f
   21.13 +0x08	U+0097
   21.14 +0x09	U+008d
   21.15 +0x0a	U+008e
   21.16 +0x0b	U+000b
   21.17 +0x0c	U+000c
   21.18 +0x0d	U+000d
   21.19 +0x0e	U+000e
   21.20 +0x0f	U+000f
   21.21 +0x10	U+0010
   21.22 +0x11	U+0011
   21.23 +0x12	U+0012
   21.24 +0x13	U+0013
   21.25 +0x14	U+009d
   21.26 +0x15	U+0085
   21.27 +0x16	U+0008
   21.28 +0x17	U+0087
   21.29 +0x18	U+0018
   21.30 +0x19	U+0019
   21.31 +0x1a	U+0092
   21.32 +0x1b	U+008f
   21.33 +0x1c	U+001c
   21.34 +0x1d	U+001d
   21.35 +0x1e	U+001e
   21.36 +0x1f	U+001f
   21.37 +0x20	U+0080
   21.38 +0x21	U+0081
   21.39 +0x22	U+0082
   21.40 +0x23	U+0083
   21.41 +0x24	U+0084
   21.42 +0x25	U+000a
   21.43 +0x26	U+0017
   21.44 +0x27	U+001b
   21.45 +0x28	U+0088
   21.46 +0x29	U+0089
   21.47 +0x2a	U+008a
   21.48 +0x2b	U+008b
   21.49 +0x2c	U+008c
   21.50 +0x2d	U+0005
   21.51 +0x2e	U+0006
   21.52 +0x2f	U+0007
   21.53 +0x30	U+0090
   21.54 +0x31	U+0091
   21.55 +0x32	U+0016
   21.56 +0x33	U+0093
   21.57 +0x34	U+0094
   21.58 +0x35	U+0095
   21.59 +0x36	U+0096
   21.60 +0x37	U+0004
   21.61 +0x38	U+0098
   21.62 +0x39	U+0099
   21.63 +0x3a	U+009a
   21.64 +0x3b	U+009b
   21.65 +0x3c	U+0014
   21.66 +0x3d	U+0015
   21.67 +0x3e	U+009e
   21.68 +0x3f	U+001a
   21.69 +0x40	U+0020
   21.70 +0x41	U+00a0
   21.71 +0x42	U+060c
   21.72 +0x43	U+064b
   21.73 +0x44	U+fe81
   21.74 +0x45	U+fe82
   21.75 +0x46	U+f8fa
   21.76 +0x47	U+fe8d
   21.77 +0x48	U+fe8e
   21.78 +0x49	U+f8fb
   21.79 +0x4a	U+00a4
   21.80 +0x4b	U+002e
   21.81 +0x4c	U+003c
   21.82 +0x4d	U+0028
   21.83 +0x4e	U+002b
   21.84 +0x4f	U+007c
   21.85 +0x50	U+0026
   21.86 +0x51	U+fe80
   21.87 +0x52	U+fe83
   21.88 +0x53	U+fe84
   21.89 +0x54	U+f8f9
   21.90 +0x55	U+fe85
   21.91 +0x56	U+fe8b
   21.92 +0x57	U+fe8f
   21.93 +0x58	U+fe91
   21.94 +0x59	U+fb56
   21.95 +0x5a	U+0021
   21.96 +0x5b	U+0024
   21.97 +0x5c	U+002a
   21.98 +0x5d	U+0029
   21.99 +0x5e	U+003b
  21.100 +0x5f	U+00ac
  21.101 +0x60	U+002d
  21.102 +0x61	U+002f
  21.103 +0x62	U+fb58
  21.104 +0x63	U+fe95
  21.105 +0x64	U+fe97
  21.106 +0x65	U+fe99
  21.107 +0x66	U+fe9b
  21.108 +0x67	U+fe9d
  21.109 +0x68	U+fe9f
  21.110 +0x69	U+fb7a
  21.111 +0x6a	U+061b
  21.112 +0x6b	U+002c
  21.113 +0x6c	U+0025
  21.114 +0x6d	U+005f
  21.115 +0x6e	U+003e
  21.116 +0x6f	U+003f
  21.117 +0x70	U+fb7c
  21.118 +0x71	U+fea1
  21.119 +0x72	U+fea3
  21.120 +0x73	U+fea5
  21.121 +0x74	U+fea7
  21.122 +0x75	U+fea9
  21.123 +0x76	U+feab
  21.124 +0x77	U+fead
  21.125 +0x78	U+feaf
  21.126 +0x79	U+0060
  21.127 +0x7a	U+003a
  21.128 +0x7b	U+0023
  21.129 +0x7c	U+0040
  21.130 +0x7d	U+0027
  21.131 +0x7e	U+003d
  21.132 +0x7f	U+0022
  21.133 +0x80	U+fb8a
  21.134 +0x81	U+0061
  21.135 +0x82	U+0062
  21.136 +0x83	U+0063
  21.137 +0x84	U+0064
  21.138 +0x85	U+0065
  21.139 +0x86	U+0066
  21.140 +0x87	U+0067
  21.141 +0x88	U+0068
  21.142 +0x89	U+0069
  21.143 +0x8a	U+00ab
  21.144 +0x8b	U+00bb
  21.145 +0x8c	U+feb1
  21.146 +0x8d	U+feb3
  21.147 +0x8e	U+feb5
  21.148 +0x8f	U+feb7
  21.149 +0x90	U+feb9
  21.150 +0x91	U+006a
  21.151 +0x92	U+006b
  21.152 +0x93	U+006c
  21.153 +0x94	U+006d
  21.154 +0x95	U+006e
  21.155 +0x96	U+006f
  21.156 +0x97	U+0070
  21.157 +0x98	U+0071
  21.158 +0x99	U+0072
  21.159 +0x9a	U+febb
  21.160 +0x9b	U+febd
  21.161 +0x9c	U+febf
  21.162 +0x9d	U+fec1
  21.163 +0x9e	U+fec3
  21.164 +0x9f	U+fec5
  21.165 +0xa0	U+fec7
  21.166 +0xa1	U+007e
  21.167 +0xa2	U+0073
  21.168 +0xa3	U+0074
  21.169 +0xa4	U+0075
  21.170 +0xa5	U+0076
  21.171 +0xa6	U+0077
  21.172 +0xa7	U+0078
  21.173 +0xa8	U+0079
  21.174 +0xa9	U+007a
  21.175 +0xaa	U+fec9
  21.176 +0xab	U+feca
  21.177 +0xac	U+fecb
  21.178 +0xad	U+fecc
  21.179 +0xae	U+fecd
  21.180 +0xaf	U+fece
  21.181 +0xb0	U+fecf
  21.182 +0xb1	U+fed0
  21.183 +0xb2	U+fed1
  21.184 +0xb3	U+fed3
  21.185 +0xb4	U+fed5
  21.186 +0xb5	U+fed7
  21.187 +0xb6	U+fb8e
  21.188 +0xb7	U+fedb
  21.189 +0xb8	U+fb92
  21.190 +0xb9	U+fb94
  21.191 +0xba	U+005b
  21.192 +0xbb	U+005d
  21.193 +0xbc	U+fedd
  21.194 +0xbd	U+fedf
  21.195 +0xbe	U+fee1
  21.196 +0xbf	U+00d7
  21.197 +0xc0	U+007b
  21.198 +0xc1	U+0041
  21.199 +0xc2	U+0042
  21.200 +0xc3	U+0043
  21.201 +0xc4	U+0044
  21.202 +0xc5	U+0045
  21.203 +0xc6	U+0046
  21.204 +0xc7	U+0047
  21.205 +0xc8	U+0048
  21.206 +0xc9	U+0049
  21.207 +0xca	U+00ad
  21.208 +0xcb	U+fee3
  21.209 +0xcc	U+fee5
  21.210 +0xcd	U+fee7
  21.211 +0xce	U+feed
  21.212 +0xcf	U+fee9
  21.213 +0xd0	U+007d
  21.214 +0xd1	U+004a
  21.215 +0xd2	U+004b
  21.216 +0xd3	U+004c
  21.217 +0xd4	U+004d
  21.218 +0xd5	U+004e
  21.219 +0xd6	U+004f
  21.220 +0xd7	U+0050
  21.221 +0xd8	U+0051
  21.222 +0xd9	U+0052
  21.223 +0xda	U+feeb
  21.224 +0xdb	U+feec
  21.225 +0xdc	U+fba4
  21.226 +0xdd	U+fbfc
  21.227 +0xde	U+fbfd
  21.228 +0xdf	U+fbfe
  21.229 +0xe0	U+005c
  21.230 +0xe1	U+061f
  21.231 +0xe2	U+0053
  21.232 +0xe3	U+0054
  21.233 +0xe4	U+0055
  21.234 +0xe5	U+0056
  21.235 +0xe6	U+0057
  21.236 +0xe7	U+0058
  21.237 +0xe8	U+0059
  21.238 +0xe9	U+005a
  21.239 +0xea	U+0640
  21.240 +0xeb	U+06f0
  21.241 +0xec	U+06f1
  21.242 +0xed	U+06f2
  21.243 +0xee	U+06f3
  21.244 +0xef	U+06f4
  21.245 +0xf0	U+0030
  21.246 +0xf1	U+0031
  21.247 +0xf2	U+0032
  21.248 +0xf3	U+0033
  21.249 +0xf4	U+0034
  21.250 +0xf5	U+0035
  21.251 +0xf6	U+0036
  21.252 +0xf7	U+0037
  21.253 +0xf8	U+0038
  21.254 +0xf9	U+0039
  21.255 +0xfa	U+06f5
  21.256 +0xfb	U+06f6
  21.257 +0xfc	U+06f7
  21.258 +0xfd	U+06f8
  21.259 +0xfe	U+06f9
  21.260 +0xff	U+009f
    22.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    22.2 +++ b/make/tools/CharsetMapping/IBM1098.map	Tue Jan 20 09:42:07 2009 -0800
    22.3 @@ -0,0 +1,257 @@
    22.4 +#Generated from IBM1098.java
    22.5 +0x00	U+0000
    22.6 +0x01	U+0001
    22.7 +0x02	U+0002
    22.8 +0x03	U+0003
    22.9 +0x04	U+0004
   22.10 +0x05	U+0005
   22.11 +0x06	U+0006
   22.12 +0x07	U+0007
   22.13 +0x08	U+0008
   22.14 +0x09	U+0009
   22.15 +0x0a	U+000a
   22.16 +0x0b	U+000b
   22.17 +0x0c	U+000c
   22.18 +0x0d	U+000d
   22.19 +0x0e	U+000e
   22.20 +0x0f	U+000f
   22.21 +0x10	U+0010
   22.22 +0x11	U+0011
   22.23 +0x12	U+0012
   22.24 +0x13	U+0013
   22.25 +0x14	U+0014
   22.26 +0x15	U+0015
   22.27 +0x16	U+0016
   22.28 +0x17	U+0017
   22.29 +0x18	U+0018
   22.30 +0x19	U+0019
   22.31 +0x1a	U+001a
   22.32 +0x1b	U+001b
   22.33 +0x1c	U+001c
   22.34 +0x1d	U+001d
   22.35 +0x1e	U+001e
   22.36 +0x1f	U+001f
   22.37 +0x20	U+0020
   22.38 +0x21	U+0021
   22.39 +0x22	U+0022
   22.40 +0x23	U+0023
   22.41 +0x24	U+0024
   22.42 +0x25	U+0025
   22.43 +0x26	U+0026
   22.44 +0x27	U+0027
   22.45 +0x28	U+0028
   22.46 +0x29	U+0029
   22.47 +0x2a	U+002a
   22.48 +0x2b	U+002b
   22.49 +0x2c	U+002c
   22.50 +0x2d	U+002d
   22.51 +0x2e	U+002e
   22.52 +0x2f	U+002f
   22.53 +0x30	U+0030
   22.54 +0x31	U+0031
   22.55 +0x32	U+0032
   22.56 +0x33	U+0033
   22.57 +0x34	U+0034
   22.58 +0x35	U+0035
   22.59 +0x36	U+0036
   22.60 +0x37	U+0037
   22.61 +0x38	U+0038
   22.62 +0x39	U+0039
   22.63 +0x3a	U+003a
   22.64 +0x3b	U+003b
   22.65 +0x3c	U+003c
   22.66 +0x3d	U+003d
   22.67 +0x3e	U+003e
   22.68 +0x3f	U+003f
   22.69 +0x40	U+0040
   22.70 +0x41	U+0041
   22.71 +0x42	U+0042
   22.72 +0x43	U+0043
   22.73 +0x44	U+0044
   22.74 +0x45	U+0045
   22.75 +0x46	U+0046
   22.76 +0x47	U+0047
   22.77 +0x48	U+0048
   22.78 +0x49	U+0049
   22.79 +0x4a	U+004a
   22.80 +0x4b	U+004b
   22.81 +0x4c	U+004c
   22.82 +0x4d	U+004d
   22.83 +0x4e	U+004e
   22.84 +0x4f	U+004f
   22.85 +0x50	U+0050
   22.86 +0x51	U+0051
   22.87 +0x52	U+0052
   22.88 +0x53	U+0053
   22.89 +0x54	U+0054
   22.90 +0x55	U+0055
   22.91 +0x56	U+0056
   22.92 +0x57	U+0057
   22.93 +0x58	U+0058
   22.94 +0x59	U+0059
   22.95 +0x5a	U+005a
   22.96 +0x5b	U+005b
   22.97 +0x5c	U+005c
   22.98 +0x5d	U+005d
   22.99 +0x5e	U+005e
  22.100 +0x5f	U+005f
  22.101 +0x60	U+0060
  22.102 +0x61	U+0061
  22.103 +0x62	U+0062
  22.104 +0x63	U+0063
  22.105 +0x64	U+0064
  22.106 +0x65	U+0065
  22.107 +0x66	U+0066
  22.108 +0x67	U+0067
  22.109 +0x68	U+0068
  22.110 +0x69	U+0069
  22.111 +0x6a	U+006a
  22.112 +0x6b	U+006b
  22.113 +0x6c	U+006c
  22.114 +0x6d	U+006d
  22.115 +0x6e	U+006e
  22.116 +0x6f	U+006f
  22.117 +0x70	U+0070
  22.118 +0x71	U+0071
  22.119 +0x72	U+0072
  22.120 +0x73	U+0073
  22.121 +0x74	U+0074
  22.122 +0x75	U+0075
  22.123 +0x76	U+0076
  22.124 +0x77	U+0077
  22.125 +0x78	U+0078
  22.126 +0x79	U+0079
  22.127 +0x7a	U+007a
  22.128 +0x7b	U+007b
  22.129 +0x7c	U+007c
  22.130 +0x7d	U+007d
  22.131 +0x7e	U+007e
  22.132 +0x7f	U+007f
  22.133 +0x80	U+fffd
  22.134 +0x81	U+fffd
  22.135 +0x82	U+060c
  22.136 +0x83	U+061b
  22.137 +0x84	U+061f
  22.138 +0x85	U+064b
  22.139 +0x86	U+fe81
  22.140 +0x87	U+fe82
  22.141 +0x88	U+f8fa
  22.142 +0x89	U+fe8d
  22.143 +0x8a	U+fe8e
  22.144 +0x8b	U+f8fb
  22.145 +0x8c	U+fe80
  22.146 +0x8d	U+fe83
  22.147 +0x8e	U+fe84
  22.148 +0x8f	U+f8f9
  22.149 +0x90	U+fe85
  22.150 +0x91	U+fe8b
  22.151 +0x92	U+fe8f
  22.152 +0x93	U+fe91
  22.153 +0x94	U+fb56
  22.154 +0x95	U+fb58
  22.155 +0x96	U+fe95
  22.156 +0x97	U+fe97
  22.157 +0x98	U+fe99
  22.158 +0x99	U+fe9b
  22.159 +0x9a	U+fe9d
  22.160 +0x9b	U+fe9f
  22.161 +0x9c	U+fb7a
  22.162 +0x9d	U+fb7c
  22.163 +0x9e	U+00d7
  22.164 +0x9f	U+fea1
  22.165 +0xa0	U+fea3
  22.166 +0xa1	U+fea5
  22.167 +0xa2	U+fea7
  22.168 +0xa3	U+fea9
  22.169 +0xa4	U+feab
  22.170 +0xa5	U+fead
  22.171 +0xa6	U+feaf
  22.172 +0xa7	U+fb8a
  22.173 +0xa8	U+feb1
  22.174 +0xa9	U+feb3
  22.175 +0xaa	U+feb5
  22.176 +0xab	U+feb7
  22.177 +0xac	U+feb9
  22.178 +0xad	U+febb
  22.179 +0xae	U+00ab
  22.180 +0xaf	U+00bb
  22.181 +0xb0	U+2591
  22.182 +0xb1	U+2592
  22.183 +0xb2	U+2593
  22.184 +0xb3	U+2502
  22.185 +0xb4	U+2524
  22.186 +0xb5	U+febd
  22.187 +0xb6	U+febf
  22.188 +0xb7	U+fec1
  22.189 +0xb8	U+fec3
  22.190 +0xb9	U+2563
  22.191 +0xba	U+2551
  22.192 +0xbb	U+2557
  22.193 +0xbc	U+255d
  22.194 +0xbd	U+00a4
  22.195 +0xbe	U+fec5
  22.196 +0xbf	U+2510
  22.197 +0xc0	U+2514
  22.198 +0xc1	U+2534
  22.199 +0xc2	U+252c
  22.200 +0xc3	U+251c
  22.201 +0xc4	U+2500
  22.202 +0xc5	U+253c
  22.203 +0xc6	U+fec7
  22.204 +0xc7	U+fec9
  22.205 +0xc8	U+255a
  22.206 +0xc9	U+2554
  22.207 +0xca	U+2569
  22.208 +0xcb	U+2566
  22.209 +0xcc	U+2560
  22.210 +0xcd	U+2550
  22.211 +0xce	U+256c
  22.212 +0xcf	U+fffd
  22.213 +0xd0	U+feca
  22.214 +0xd1	U+fecb
  22.215 +0xd2	U+fecc
  22.216 +0xd3	U+fecd
  22.217 +0xd4	U+fece
  22.218 +0xd5	U+fecf
  22.219 +0xd6	U+fed0
  22.220 +0xd7	U+fed1
  22.221 +0xd8	U+fed3
  22.222 +0xd9	U+2518
  22.223 +0xda	U+250c
  22.224 +0xdb	U+2588
  22.225 +0xdc	U+2584
  22.226 +0xdd	U+fed5
  22.227 +0xde	U+fed7
  22.228 +0xdf	U+2580
  22.229 +0xe0	U+fb8e
  22.230 +0xe1	U+fedb
  22.231 +0xe2	U+fb92
  22.232 +0xe3	U+fb94
  22.233 +0xe4	U+fedd
  22.234 +0xe5	U+fedf
  22.235 +0xe6	U+fee1
  22.236 +0xe7	U+fee3
  22.237 +0xe8	U+fee5
  22.238 +0xe9	U+fee7
  22.239 +0xea	U+feed
  22.240 +0xeb	U+fee9
  22.241 +0xec	U+feeb
  22.242 +0xed	U+feec
  22.243 +0xee	U+fba4
  22.244 +0xef	U+fbfc
  22.245 +0xf0	U+00ad
  22.246 +0xf1	U+fbfd
  22.247 +0xf2	U+fbfe
  22.248 +0xf3	U+0640
  22.249 +0xf4	U+06f0
  22.250 +0xf5	U+06f1
  22.251 +0xf6	U+06f2
  22.252 +0xf7	U+06f3
  22.253 +0xf8	U+06f4
  22.254 +0xf9	U+06f5
  22.255 +0xfa	U+06f6
  22.256 +0xfb	U+06f7
  22.257 +0xfc	U+06f8
  22.258 +0xfd	U+06f9
  22.259 +0xfe	U+25a0
  22.260 +0xff	U+00a0
    23.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    23.2 +++ b/make/tools/CharsetMapping/IBM1112.c2b	Tue Jan 20 09:42:07 2009 -0800
    23.3 @@ -0,0 +1,1 @@
    23.4 +0x15	U+0085
    24.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    24.2 +++ b/make/tools/CharsetMapping/IBM1112.map	Tue Jan 20 09:42:07 2009 -0800
    24.3 @@ -0,0 +1,257 @@
    24.4 +#Generated from IBM1112.java
    24.5 +0x00	U+0000
    24.6 +0x01	U+0001
    24.7 +0x02	U+0002
    24.8 +0x03	U+0003
    24.9 +0x04	U+009c
   24.10 +0x05	U+0009
   24.11 +0x06	U+0086
   24.12 +0x07	U+007f
   24.13 +0x08	U+0097
   24.14 +0x09	U+008d
   24.15 +0x0a	U+008e
   24.16 +0x0b	U+000b
   24.17 +0x0c	U+000c
   24.18 +0x0d	U+000d
   24.19 +0x0e	U+000e
   24.20 +0x0f	U+000f
   24.21 +0x10	U+0010
   24.22 +0x11	U+0011
   24.23 +0x12	U+0012
   24.24 +0x13	U+0013
   24.25 +0x14	U+009d
   24.26 +0x15	U+000a
   24.27 +0x16	U+0008
   24.28 +0x17	U+0087
   24.29 +0x18	U+0018
   24.30 +0x19	U+0019
   24.31 +0x1a	U+0092
   24.32 +0x1b	U+008f
   24.33 +0x1c	U+001c
   24.34 +0x1d	U+001d
   24.35 +0x1e	U+001e
   24.36 +0x1f	U+001f
   24.37 +0x20	U+0080
   24.38 +0x21	U+0081
   24.39 +0x22	U+0082
   24.40 +0x23	U+0083
   24.41 +0x24	U+0084
   24.42 +0x25	U+000a
   24.43 +0x26	U+0017
   24.44 +0x27	U+001b
   24.45 +0x28	U+0088
   24.46 +0x29	U+0089
   24.47 +0x2a	U+008a
   24.48 +0x2b	U+008b
   24.49 +0x2c	U+008c
   24.50 +0x2d	U+0005
   24.51 +0x2e	U+0006
   24.52 +0x2f	U+0007
   24.53 +0x30	U+0090
   24.54 +0x31	U+0091
   24.55 +0x32	U+0016
   24.56 +0x33	U+0093
   24.57 +0x34	U+0094
   24.58 +0x35	U+0095
   24.59 +0x36	U+0096
   24.60 +0x37	U+0004
   24.61 +0x38	U+0098
   24.62 +0x39	U+0099
   24.63 +0x3a	U+009a
   24.64 +0x3b	U+009b
   24.65 +0x3c	U+0014
   24.66 +0x3d	U+0015
   24.67 +0x3e	U+009e
   24.68 +0x3f	U+001a
   24.69 +0x40	U+0020
   24.70 +0x41	U+00a0
   24.71 +0x42	U+0161
   24.72 +0x43	U+00e4
   24.73 +0x44	U+0105
   24.74 +0x45	U+012f
   24.75 +0x46	U+016b
   24.76 +0x47	U+00e5
   24.77 +0x48	U+0113
   24.78 +0x49	U+017e
   24.79 +0x4a	U+00a2
   24.80 +0x4b	U+002e
   24.81 +0x4c	U+003c
   24.82 +0x4d	U+0028
   24.83 +0x4e	U+002b
   24.84 +0x4f	U+007c
   24.85 +0x50	U+0026
   24.86 +0x51	U+00e9
   24.87 +0x52	U+0119
   24.88 +0x53	U+0117
   24.89 +0x54	U+010d
   24.90 +0x55	U+0173
   24.91 +0x56	U+201e
   24.92 +0x57	U+201c
   24.93 +0x58	U+0123
   24.94 +0x59	U+00df
   24.95 +0x5a	U+0021
   24.96 +0x5b	U+0024
   24.97 +0x5c	U+002a
   24.98 +0x5d	U+0029
   24.99 +0x5e	U+003b
  24.100 +0x5f	U+00ac
  24.101 +0x60	U+002d
  24.102 +0x61	U+002f
  24.103 +0x62	U+0160
  24.104 +0x63	U+00c4
  24.105 +0x64	U+0104
  24.106 +0x65	U+012e
  24.107 +0x66	U+016a
  24.108 +0x67	U+00c5
  24.109 +0x68	U+0112
  24.110 +0x69	U+017d
  24.111 +0x6a	U+00a6
  24.112 +0x6b	U+002c
  24.113 +0x6c	U+0025
  24.114 +0x6d	U+005f
  24.115 +0x6e	U+003e
  24.116 +0x6f	U+003f
  24.117 +0x70	U+00f8
  24.118 +0x71	U+00c9
  24.119 +0x72	U+0118
  24.120 +0x73	U+0116
  24.121 +0x74	U+010c
  24.122 +0x75	U+0172
  24.123 +0x76	U+012a
  24.124 +0x77	U+013b
  24.125 +0x78	U+0122
  24.126 +0x79	U+0060
  24.127 +0x7a	U+003a
  24.128 +0x7b	U+0023
  24.129 +0x7c	U+0040
  24.130 +0x7d	U+0027
  24.131 +0x7e	U+003d
  24.132 +0x7f	U+0022
  24.133 +0x80	U+00d8
  24.134 +0x81	U+0061
  24.135 +0x82	U+0062
  24.136 +0x83	U+0063
  24.137 +0x84	U+0064
  24.138 +0x85	U+0065
  24.139 +0x86	U+0066
  24.140 +0x87	U+0067
  24.141 +0x88	U+0068
  24.142 +0x89	U+0069
  24.143 +0x8a	U+00ab
  24.144 +0x8b	U+00bb
  24.145 +0x8c	U+0101
  24.146 +0x8d	U+017c
  24.147 +0x8e	U+0144
  24.148 +0x8f	U+00b1
  24.149 +0x90	U+00b0
  24.150 +0x91	U+006a
  24.151 +0x92	U+006b
  24.152 +0x93	U+006c
  24.153 +0x94	U+006d
  24.154 +0x95	U+006e
  24.155 +0x96	U+006f
  24.156 +0x97	U+0070
  24.157 +0x98	U+0071
  24.158 +0x99	U+0072
  24.159 +0x9a	U+0156
  24.160 +0x9b	U+0157
  24.161 +0x9c	U+00e6
  24.162 +0x9d	U+0137
  24.163 +0x9e	U+00c6
  24.164 +0x9f	U+00a4
  24.165 +0xa0	U+00b5
  24.166 +0xa1	U+007e
  24.167 +0xa2	U+0073
  24.168 +0xa3	U+0074
  24.169 +0xa4	U+0075
  24.170 +0xa5	U+0076
  24.171 +0xa6	U+0077
  24.172 +0xa7	U+0078
  24.173 +0xa8	U+0079
  24.174 +0xa9	U+007a
  24.175 +0xaa	U+201d
  24.176 +0xab	U+017a
  24.177 +0xac	U+0100
  24.178 +0xad	U+017b
  24.179 +0xae	U+0143
  24.180 +0xaf	U+00ae
  24.181 +0xb0	U+005e
  24.182 +0xb1	U+00a3
  24.183 +0xb2	U+012b
  24.184 +0xb3	U+00b7
  24.185 +0xb4	U+00a9
  24.186 +0xb5	U+00a7
  24.187 +0xb6	U+00b6
  24.188 +0xb7	U+00bc
  24.189 +0xb8	U+00bd
  24.190 +0xb9	U+00be
  24.191 +0xba	U+005b
  24.192 +0xbb	U+005d
  24.193 +0xbc	U+0179
  24.194 +0xbd	U+0136
  24.195 +0xbe	U+013c
  24.196 +0xbf	U+00d7
  24.197 +0xc0	U+007b
  24.198 +0xc1	U+0041
  24.199 +0xc2	U+0042
  24.200 +0xc3	U+0043
  24.201 +0xc4	U+0044
  24.202 +0xc5	U+0045
  24.203 +0xc6	U+0046
  24.204 +0xc7	U+0047
  24.205 +0xc8	U+0048
  24.206 +0xc9	U+0049
  24.207 +0xca	U+00ad
  24.208 +0xcb	U+014d
  24.209 +0xcc	U+00f6
  24.210 +0xcd	U+0146
  24.211 +0xce	U+00f3
  24.212 +0xcf	U+00f5
  24.213 +0xd0	U+007d
  24.214 +0xd1	U+004a
  24.215 +0xd2	U+004b
  24.216 +0xd3	U+004c
  24.217 +0xd4	U+004d
  24.218 +0xd5	U+004e
  24.219 +0xd6	U+004f
  24.220 +0xd7	U+0050
  24.221 +0xd8	U+0051
  24.222 +0xd9	U+0052
  24.223 +0xda	U+00b9
  24.224 +0xdb	U+0107
  24.225 +0xdc	U+00fc
  24.226 +0xdd	U+0142
  24.227 +0xde	U+015b
  24.228 +0xdf	U+2019
  24.229 +0xe0	U+005c
  24.230 +0xe1	U+00f7
  24.231 +0xe2	U+0053
  24.232 +0xe3	U+0054
  24.233 +0xe4	U+0055
  24.234 +0xe5	U+0056
  24.235 +0xe6	U+0057
  24.236 +0xe7	U+0058
  24.237 +0xe8	U+0059
  24.238 +0xe9	U+005a
  24.239 +0xea	U+00b2
  24.240 +0xeb	U+014c
  24.241 +0xec	U+00d6
  24.242 +0xed	U+0145
  24.243 +0xee	U+00d3
  24.244 +0xef	U+00d5
  24.245 +0xf0	U+0030
  24.246 +0xf1	U+0031
  24.247 +0xf2	U+0032
  24.248 +0xf3	U+0033
  24.249 +0xf4	U+0034
  24.250 +0xf5	U+0035
  24.251 +0xf6	U+0036
  24.252 +0xf7	U+0037
  24.253 +0xf8	U+0038
  24.254 +0xf9	U+0039
  24.255 +0xfa	U+00b3
  24.256 +0xfb	U+0106
  24.257 +0xfc	U+00dc
  24.258 +0xfd	U+0141
  24.259 +0xfe	U+015a
  24.260 +0xff	U+009f
    25.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    25.2 +++ b/make/tools/CharsetMapping/IBM1112.nr	Tue Jan 20 09:42:07 2009 -0800
    25.3 @@ -0,0 +1,1 @@
    25.4 +0x25	U+000a
    26.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    26.2 +++ b/make/tools/CharsetMapping/IBM1122.c2b	Tue Jan 20 09:42:07 2009 -0800
    26.3 @@ -0,0 +1,1 @@
    26.4 +0x15	U+0085
    27.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    27.2 +++ b/make/tools/CharsetMapping/IBM1122.map	Tue Jan 20 09:42:07 2009 -0800
    27.3 @@ -0,0 +1,257 @@
    27.4 +#Generated from IBM1122.java
    27.5 +0x00	U+0000
    27.6 +0x01	U+0001
    27.7 +0x02	U+0002
    27.8 +0x03	U+0003
    27.9 +0x04	U+009c
   27.10 +0x05	U+0009
   27.11 +0x06	U+0086
   27.12 +0x07	U+007f
   27.13 +0x08	U+0097
   27.14 +0x09	U+008d
   27.15 +0x0a	U+008e
   27.16 +0x0b	U+000b
   27.17 +0x0c	U+000c
   27.18 +0x0d	U+000d
   27.19 +0x0e	U+000e
   27.20 +0x0f	U+000f
   27.21 +0x10	U+0010
   27.22 +0x11	U+0011
   27.23 +0x12	U+0012
   27.24 +0x13	U+0013
   27.25 +0x14	U+009d
   27.26 +0x15	U+000a
   27.27 +0x16	U+0008
   27.28 +0x17	U+0087
   27.29 +0x18	U+0018
   27.30 +0x19	U+0019
   27.31 +0x1a	U+0092
   27.32 +0x1b	U+008f
   27.33 +0x1c	U+001c
   27.34 +0x1d	U+001d
   27.35 +0x1e	U+001e
   27.36 +0x1f	U+001f
   27.37 +0x20	U+0080
   27.38 +0x21	U+0081
   27.39 +0x22	U+0082
   27.40 +0x23	U+0083
   27.41 +0x24	U+0084
   27.42 +0x25	U+000a
   27.43 +0x26	U+0017
   27.44 +0x27	U+001b
   27.45 +0x28	U+0088
   27.46 +0x29	U+0089
   27.47 +0x2a	U+008a
   27.48 +0x2b	U+008b
   27.49 +0x2c	U+008c
   27.50 +0x2d	U+0005
   27.51 +0x2e	U+0006
   27.52 +0x2f	U+0007
   27.53 +0x30	U+0090
   27.54 +0x31	U+0091
   27.55 +0x32	U+0016
   27.56 +0x33	U+0093
   27.57 +0x34	U+0094
   27.58 +0x35	U+0095
   27.59 +0x36	U+0096
   27.60 +0x37	U+0004
   27.61 +0x38	U+0098
   27.62 +0x39	U+0099
   27.63 +0x3a	U+009a
   27.64 +0x3b	U+009b
   27.65 +0x3c	U+0014
   27.66 +0x3d	U+0015
   27.67 +0x3e	U+009e
   27.68 +0x3f	U+001a
   27.69 +0x40	U+0020
   27.70 +0x41	U+00a0
   27.71 +0x42	U+00e2
   27.72 +0x43	U+007b
   27.73 +0x44	U+00e0
   27.74 +0x45	U+00e1
   27.75 +0x46	U+00e3
   27.76 +0x47	U+007d
   27.77 +0x48	U+00e7
   27.78 +0x49	U+00f1
   27.79 +0x4a	U+00a7
   27.80 +0x4b	U+002e
   27.81 +0x4c	U+003c
   27.82 +0x4d	U+0028
   27.83 +0x4e	U+002b
   27.84 +0x4f	U+0021
   27.85 +0x50	U+0026
   27.86 +0x51	U+0060
   27.87 +0x52	U+00ea
   27.88 +0x53	U+00eb
   27.89 +0x54	U+00e8
   27.90 +0x55	U+00ed
   27.91 +0x56	U+00ee
   27.92 +0x57	U+00ef
   27.93 +0x58	U+00ec
   27.94 +0x59	U+00df
   27.95 +0x5a	U+00a4
   27.96 +0x5b	U+00c5
   27.97 +0x5c	U+002a
   27.98 +0x5d	U+0029
   27.99 +0x5e	U+003b
  27.100 +0x5f	U+005e
  27.101 +0x60	U+002d
  27.102 +0x61	U+002f
  27.103 +0x62	U+00c2
  27.104 +0x63	U+0023
  27.105 +0x64	U+00c0
  27.106 +0x65	U+00c1
  27.107 +0x66	U+00c3
  27.108 +0x67	U+0024
  27.109 +0x68	U+00c7
  27.110 +0x69	U+00d1
  27.111 +0x6a	U+00f6
  27.112 +0x6b	U+002c
  27.113 +0x6c	U+0025
  27.114 +0x6d	U+005f
  27.115 +0x6e	U+003e
  27.116 +0x6f	U+003f
  27.117 +0x70	U+00f8
  27.118 +0x71	U+005c
  27.119 +0x72	U+00ca
  27.120 +0x73	U+00cb
  27.121 +0x74	U+00c8
  27.122 +0x75	U+00cd
  27.123 +0x76	U+00ce
  27.124 +0x77	U+00cf
  27.125 +0x78	U+00cc
  27.126 +0x79	U+00e9
  27.127 +0x7a	U+003a
  27.128 +0x7b	U+00c4
  27.129 +0x7c	U+00d6
  27.130 +0x7d	U+0027
  27.131 +0x7e	U+003d
  27.132 +0x7f	U+0022
  27.133 +0x80	U+00d8
  27.134 +0x81	U+0061
  27.135 +0x82	U+0062
  27.136 +0x83	U+0063
  27.137 +0x84	U+0064
  27.138 +0x85	U+0065
  27.139 +0x86	U+0066
  27.140 +0x87	U+0067
  27.141 +0x88	U+0068
  27.142 +0x89	U+0069
  27.143 +0x8a	U+00ab
  27.144 +0x8b	U+00bb
  27.145 +0x8c	U+0161
  27.146 +0x8d	U+00fd
  27.147 +0x8e	U+017e
  27.148 +0x8f	U+00b1
  27.149 +0x90	U+00b0
  27.150 +0x91	U+006a
  27.151 +0x92	U+006b
  27.152 +0x93	U+006c
  27.153 +0x94	U+006d
  27.154 +0x95	U+006e
  27.155 +0x96	U+006f
  27.156 +0x97	U+0070
  27.157 +0x98	U+0071
  27.158 +0x99	U+0072
  27.159 +0x9a	U+00aa
  27.160 +0x9b	U+00ba
  27.161 +0x9c	U+00e6
  27.162 +0x9d	U+00b8
  27.163 +0x9e	U+00c6
  27.164 +0x9f	U+005d
  27.165 +0xa0	U+00b5
  27.166 +0xa1	U+00fc
  27.167 +0xa2	U+0073
  27.168 +0xa3	U+0074
  27.169 +0xa4	U+0075
  27.170 +0xa5	U+0076
  27.171 +0xa6	U+0077
  27.172 +0xa7	U+0078
  27.173 +0xa8	U+0079
  27.174 +0xa9	U+007a
  27.175 +0xaa	U+00a1
  27.176 +0xab	U+00bf
  27.177 +0xac	U+0160
  27.178 +0xad	U+00dd
  27.179 +0xae	U+017d
  27.180 +0xaf	U+00ae
  27.181 +0xb0	U+00a2
  27.182 +0xb1	U+00a3
  27.183 +0xb2	U+00a5
  27.184 +0xb3	U+00b7
  27.185 +0xb4	U+00a9
  27.186 +0xb5	U+005b
  27.187 +0xb6	U+00b6
  27.188 +0xb7	U+00bc
  27.189 +0xb8	U+00bd
  27.190 +0xb9	U+00be
  27.191 +0xba	U+00ac
  27.192 +0xbb	U+007c
  27.193 +0xbc	U+203e
  27.194 +0xbd	U+00a8
  27.195 +0xbe	U+00b4
  27.196 +0xbf	U+00d7
  27.197 +0xc0	U+00e4
  27.198 +0xc1	U+0041
  27.199 +0xc2	U+0042
  27.200 +0xc3	U+0043
  27.201 +0xc4	U+0044
  27.202 +0xc5	U+0045
  27.203 +0xc6	U+0046
  27.204 +0xc7	U+0047
  27.205 +0xc8	U+0048
  27.206 +0xc9	U+0049
  27.207 +0xca	U+00ad
  27.208 +0xcb	U+00f4
  27.209 +0xcc	U+00a6
  27.210 +0xcd	U+00f2
  27.211 +0xce	U+00f3
  27.212 +0xcf	U+00f5
  27.213 +0xd0	U+00e5
  27.214 +0xd1	U+004a
  27.215 +0xd2	U+004b
  27.216 +0xd3	U+004c
  27.217 +0xd4	U+004d
  27.218 +0xd5	U+004e
  27.219 +0xd6	U+004f
  27.220 +0xd7	U+0050
  27.221 +0xd8	U+0051
  27.222 +0xd9	U+0052
  27.223 +0xda	U+00b9
  27.224 +0xdb	U+00fb
  27.225 +0xdc	U+007e
  27.226 +0xdd	U+00f9
  27.227 +0xde	U+00fa
  27.228 +0xdf	U+00ff
  27.229 +0xe0	U+00c9
  27.230 +0xe1	U+00f7
  27.231 +0xe2	U+0053
  27.232 +0xe3	U+0054
  27.233 +0xe4	U+0055
  27.234 +0xe5	U+0056
  27.235 +0xe6	U+0057
  27.236 +0xe7	U+0058
  27.237 +0xe8	U+0059
  27.238 +0xe9	U+005a
  27.239 +0xea	U+00b2
  27.240 +0xeb	U+00d4
  27.241 +0xec	U+0040
  27.242 +0xed	U+00d2
  27.243 +0xee	U+00d3
  27.244 +0xef	U+00d5
  27.245 +0xf0	U+0030
  27.246 +0xf1	U+0031
  27.247 +0xf2	U+0032
  27.248 +0xf3	U+0033
  27.249 +0xf4	U+0034
  27.250 +0xf5	U+0035
  27.251 +0xf6	U+0036
  27.252 +0xf7	U+0037
  27.253 +0xf8	U+0038
  27.254 +0xf9	U+0039
  27.255 +0xfa	U+00b3
  27.256 +0xfb	U+00db
  27.257 +0xfc	U+00dc
  27.258 +0xfd	U+00d9
  27.259 +0xfe	U+00da
  27.260 +0xff	U+009f
    28.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    28.2 +++ b/make/tools/CharsetMapping/IBM1122.nr	Tue Jan 20 09:42:07 2009 -0800
    28.3 @@ -0,0 +1,1 @@
    28.4 +0x25	U+000a
    29.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    29.2 +++ b/make/tools/CharsetMapping/IBM1123.c2b	Tue Jan 20 09:42:07 2009 -0800
    29.3 @@ -0,0 +1,1 @@
    29.4 +0x15	U+0085
    30.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    30.2 +++ b/make/tools/CharsetMapping/IBM1123.map	Tue Jan 20 09:42:07 2009 -0800
    30.3 @@ -0,0 +1,257 @@
    30.4 +#Generated from IBM1123.java
    30.5 +0x00	U+0000
    30.6 +0x01	U+0001
    30.7 +0x02	U+0002
    30.8 +0x03	U+0003
    30.9 +0x04	U+009c
   30.10 +0x05	U+0009
   30.11 +0x06	U+0086
   30.12 +0x07	U+007f
   30.13 +0x08	U+0097
   30.14 +0x09	U+008d
   30.15 +0x0a	U+008e
   30.16 +0x0b	U+000b
   30.17 +0x0c	U+000c
   30.18 +0x0d	U+000d
   30.19 +0x0e	U+000e
   30.20 +0x0f	U+000f
   30.21 +0x10	U+0010
   30.22 +0x11	U+0011
   30.23 +0x12	U+0012
   30.24 +0x13	U+0013
   30.25 +0x14	U+009d
   30.26 +0x15	U+000a
   30.27 +0x16	U+0008
   30.28 +0x17	U+0087
   30.29 +0x18	U+0018
   30.30 +0x19	U+0019
   30.31 +0x1a	U+0092
   30.32 +0x1b	U+008f
   30.33 +0x1c	U+001c
   30.34 +0x1d	U+001d
   30.35 +0x1e	U+001e
   30.36 +0x1f	U+001f
   30.37 +0x20	U+0080
   30.38 +0x21	U+0081
   30.39 +0x22	U+0082
   30.40 +0x23	U+0083
   30.41 +0x24	U+0084
   30.42 +0x25	U+000a
   30.43 +0x26	U+0017
   30.44 +0x27	U+001b
   30.45 +0x28	U+0088
   30.46 +0x29	U+0089
   30.47 +0x2a	U+008a
   30.48 +0x2b	U+008b
   30.49 +0x2c	U+008c
   30.50 +0x2d	U+0005
   30.51 +0x2e	U+0006
   30.52 +0x2f	U+0007
   30.53 +0x30	U+0090
   30.54 +0x31	U+0091
   30.55 +0x32	U+0016
   30.56 +0x33	U+0093
   30.57 +0x34	U+0094
   30.58 +0x35	U+0095
   30.59 +0x36	U+0096
   30.60 +0x37	U+0004
   30.61 +0x38	U+0098
   30.62 +0x39	U+0099
   30.63 +0x3a	U+009a
   30.64 +0x3b	U+009b
   30.65 +0x3c	U+0014
   30.66 +0x3d	U+0015
   30.67 +0x3e	U+009e
   30.68 +0x3f	U+001a
   30.69 +0x40	U+0020
   30.70 +0x41	U+00a0
   30.71 +0x42	U+0452
   30.72 +0x43	U+0491
   30.73 +0x44	U+0451
   30.74 +0x45	U+0454
   30.75 +0x46	U+0455
   30.76 +0x47	U+0456
   30.77 +0x48	U+0457
   30.78 +0x49	U+0458
   30.79 +0x4a	U+005b
   30.80 +0x4b	U+002e
   30.81 +0x4c	U+003c
   30.82 +0x4d	U+0028
   30.83 +0x4e	U+002b
   30.84 +0x4f	U+0021
   30.85 +0x50	U+0026
   30.86 +0x51	U+0459
   30.87 +0x52	U+045a
   30.88 +0x53	U+045b
   30.89 +0x54	U+045c
   30.90 +0x55	U+045e
   30.91 +0x56	U+045f
   30.92 +0x57	U+042a
   30.93 +0x58	U+2116
   30.94 +0x59	U+0402
   30.95 +0x5a	U+005d
   30.96 +0x5b	U+0024
   30.97 +0x5c	U+002a
   30.98 +0x5d	U+0029
   30.99 +0x5e	U+003b
  30.100 +0x5f	U+005e
  30.101 +0x60	U+002d
  30.102 +0x61	U+002f
  30.103 +0x62	U+0490
  30.104 +0x63	U+0401
  30.105 +0x64	U+0404
  30.106 +0x65	U+0405
  30.107 +0x66	U+0406
  30.108 +0x67	U+0407
  30.109 +0x68	U+0408
  30.110 +0x69	U+0409
  30.111 +0x6a	U+007c
  30.112 +0x6b	U+002c
  30.113 +0x6c	U+0025
  30.114 +0x6d	U+005f
  30.115 +0x6e	U+003e
  30.116 +0x6f	U+003f
  30.117 +0x70	U+040a
  30.118 +0x71	U+040b
  30.119 +0x72	U+040c
  30.120 +0x73	U+00ad
  30.121 +0x74	U+040e
  30.122 +0x75	U+040f
  30.123 +0x76	U+044e
  30.124 +0x77	U+0430
  30.125 +0x78	U+0431
  30.126 +0x79	U+0060
  30.127 +0x7a	U+003a
  30.128 +0x7b	U+0023
  30.129 +0x7c	U+0040
  30.130 +0x7d	U+0027
  30.131 +0x7e	U+003d
  30.132 +0x7f	U+0022
  30.133 +0x80	U+0446
  30.134 +0x81	U+0061
  30.135 +0x82	U+0062
  30.136 +0x83	U+0063
  30.137 +0x84	U+0064
  30.138 +0x85	U+0065
  30.139 +0x86	U+0066
  30.140 +0x87	U+0067
  30.141 +0x88	U+0068
  30.142 +0x89	U+0069
  30.143 +0x8a	U+0434
  30.144 +0x8b	U+0435
  30.145 +0x8c	U+0444
  30.146 +0x8d	U+0433
  30.147 +0x8e	U+0445
  30.148 +0x8f	U+0438
  30.149 +0x90	U+0439
  30.150 +0x91	U+006a
  30.151 +0x92	U+006b
  30.152 +0x93	U+006c
  30.153 +0x94	U+006d
  30.154 +0x95	U+006e
  30.155 +0x96	U+006f
  30.156 +0x97	U+0070
  30.157 +0x98	U+0071
  30.158 +0x99	U+0072
  30.159 +0x9a	U+043a
  30.160 +0x9b	U+043b
  30.161 +0x9c	U+043c
  30.162 +0x9d	U+043d
  30.163 +0x9e	U+043e
  30.164 +0x9f	U+043f
  30.165 +0xa0	U+044f
  30.166 +0xa1	U+007e
  30.167 +0xa2	U+0073
  30.168 +0xa3	U+0074
  30.169 +0xa4	U+0075
  30.170 +0xa5	U+0076
  30.171 +0xa6	U+0077
  30.172 +0xa7	U+0078
  30.173 +0xa8	U+0079
  30.174 +0xa9	U+007a
  30.175 +0xaa	U+0440
  30.176 +0xab	U+0441
  30.177 +0xac	U+0442
  30.178 +0xad	U+0443
  30.179 +0xae	U+0436
  30.180 +0xaf	U+0432
  30.181 +0xb0	U+044c
  30.182 +0xb1	U+044b
  30.183 +0xb2	U+0437
  30.184 +0xb3	U+0448
  30.185 +0xb4	U+044d
  30.186 +0xb5	U+0449
  30.187 +0xb6	U+0447
  30.188 +0xb7	U+044a
  30.189 +0xb8	U+042e
  30.190 +0xb9	U+0410
  30.191 +0xba	U+0411
  30.192 +0xbb	U+0426
  30.193 +0xbc	U+0414
  30.194 +0xbd	U+0415
  30.195 +0xbe	U+0424
  30.196 +0xbf	U+0413
  30.197 +0xc0	U+007b
  30.198 +0xc1	U+0041
  30.199 +0xc2	U+0042
  30.200 +0xc3	U+0043
  30.201 +0xc4	U+0044
  30.202 +0xc5	U+0045
  30.203 +0xc6	U+0046
  30.204 +0xc7	U+0047
  30.205 +0xc8	U+0048
  30.206 +0xc9	U+0049
  30.207 +0xca	U+0425
  30.208 +0xcb	U+0418
  30.209 +0xcc	U+0419
  30.210 +0xcd	U+041a
  30.211 +0xce	U+041b
  30.212 +0xcf	U+041c
  30.213 +0xd0	U+007d
  30.214 +0xd1	U+004a
  30.215 +0xd2	U+004b
  30.216 +0xd3	U+004c
  30.217 +0xd4	U+004d
  30.218 +0xd5	U+004e
  30.219 +0xd6	U+004f
  30.220 +0xd7	U+0050
  30.221 +0xd8	U+0051
  30.222 +0xd9	U+0052
  30.223 +0xda	U+041d
  30.224 +0xdb	U+041e
  30.225 +0xdc	U+041f
  30.226 +0xdd	U+042f
  30.227 +0xde	U+0420
  30.228 +0xdf	U+0421
  30.229 +0xe0	U+005c
  30.230 +0xe1	U+00a7
  30.231 +0xe2	U+0053
  30.232 +0xe3	U+0054
  30.233 +0xe4	U+0055
  30.234 +0xe5	U+0056
  30.235 +0xe6	U+0057
  30.236 +0xe7	U+0058
  30.237 +0xe8	U+0059
  30.238 +0xe9	U+005a
  30.239 +0xea	U+0422
  30.240 +0xeb	U+0423
  30.241 +0xec	U+0416
  30.242 +0xed	U+0412
  30.243 +0xee	U+042c
  30.244 +0xef	U+042b
  30.245 +0xf0	U+0030
  30.246 +0xf1	U+0031
  30.247 +0xf2	U+0032
  30.248 +0xf3	U+0033
  30.249 +0xf4	U+0034
  30.250 +0xf5	U+0035
  30.251 +0xf6	U+0036
  30.252 +0xf7	U+0037
  30.253 +0xf8	U+0038
  30.254 +0xf9	U+0039
  30.255 +0xfa	U+0417
  30.256 +0xfb	U+0428
  30.257 +0xfc	U+042d
  30.258 +0xfd	U+0429
  30.259 +0xfe	U+0427
  30.260 +0xff	U+009f
    31.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    31.2 +++ b/make/tools/CharsetMapping/IBM1123.nr	Tue Jan 20 09:42:07 2009 -0800
    31.3 @@ -0,0 +1,1 @@
    31.4 +0x25	U+000a
    32.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    32.2 +++ b/make/tools/CharsetMapping/IBM1124.map	Tue Jan 20 09:42:07 2009 -0800
    32.3 @@ -0,0 +1,257 @@
    32.4 +#Generated from IBM1124.java
    32.5 +0x00	U+0000
    32.6 +0x01	U+0001
    32.7 +0x02	U+0002
    32.8 +0x03	U+0003
    32.9 +0x04	U+0004
   32.10 +0x05	U+0005
   32.11 +0x06	U+0006
   32.12 +0x07	U+0007
   32.13 +0x08	U+0008
   32.14 +0x09	U+0009
   32.15 +0x0a	U+000a
   32.16 +0x0b	U+000b
   32.17 +0x0c	U+000c
   32.18 +0x0d	U+000d
   32.19 +0x0e	U+000e
   32.20 +0x0f	U+000f
   32.21 +0x10	U+0010
   32.22 +0x11	U+0011
   32.23 +0x12	U+0012
   32.24 +0x13	U+0013
   32.25 +0x14	U+0014
   32.26 +0x15	U+0015
   32.27 +0x16	U+0016
   32.28 +0x17	U+0017
   32.29 +0x18	U+0018
   32.30 +0x19	U+0019
   32.31 +0x1a	U+001a
   32.32 +0x1b	U+001b
   32.33 +0x1c	U+001c
   32.34 +0x1d	U+001d
   32.35 +0x1e	U+001e
   32.36 +0x1f	U+001f
   32.37 +0x20	U+0020
   32.38 +0x21	U+0021
   32.39 +0x22	U+0022
   32.40 +0x23	U+0023
   32.41 +0x24	U+0024
   32.42 +0x25	U+0025
   32.43 +0x26	U+0026
   32.44 +0x27	U+0027
   32.45 +0x28	U+0028
   32.46 +0x29	U+0029
   32.47 +0x2a	U+002a
   32.48 +0x2b	U+002b
   32.49 +0x2c	U+002c
   32.50 +0x2d	U+002d
   32.51 +0x2e	U+002e
   32.52 +0x2f	U+002f
   32.53 +0x30	U+0030
   32.54 +0x31	U+0031
   32.55 +0x32	U+0032
   32.56 +0x33	U+0033
   32.57 +0x34	U+0034
   32.58 +0x35	U+0035
   32.59 +0x36	U+0036
   32.60 +0x37	U+0037
   32.61 +0x38	U+0038
   32.62 +0x39	U+0039
   32.63 +0x3a	U+003a
   32.64 +0x3b	U+003b
   32.65 +0x3c	U+003c
   32.66 +0x3d	U+003d
   32.67 +0x3e	U+003e
   32.68 +0x3f	U+003f
   32.69 +0x40	U+0040
   32.70 +0x41	U+0041
   32.71 +0x42	U+0042
   32.72 +0x43	U+0043
   32.73 +0x44	U+0044
   32.74 +0x45	U+0045
   32.75 +0x46	U+0046
   32.76 +0x47	U+0047
   32.77 +0x48	U+0048
   32.78 +0x49	U+0049
   32.79 +0x4a	U+004a
   32.80 +0x4b	U+004b
   32.81 +0x4c	U+004c
   32.82 +0x4d	U+004d
   32.83 +0x4e	U+004e
   32.84 +0x4f	U+004f
   32.85 +0x50	U+0050
   32.86 +0x51	U+0051
   32.87 +0x52	U+0052
   32.88 +0x53	U+0053
   32.89 +0x54	U+0054
   32.90 +0x55	U+0055
   32.91 +0x56	U+0056
   32.92 +0x57	U+0057
   32.93 +0x58	U+0058
   32.94 +0x59	U+0059
   32.95 +0x5a	U+005a
   32.96 +0x5b	U+005b
   32.97 +0x5c	U+005c
   32.98 +0x5d	U+005d
   32.99 +0x5e	U+005e
  32.100 +0x5f	U+005f
  32.101 +0x60	U+0060
  32.102 +0x61	U+0061
  32.103 +0x62	U+0062
  32.104 +0x63	U+0063
  32.105 +0x64	U+0064
  32.106 +0x65	U+0065
  32.107 +0x66	U+0066
  32.108 +0x67	U+0067
  32.109 +0x68	U+0068
  32.110 +0x69	U+0069
  32.111 +0x6a	U+006a
  32.112 +0x6b	U+006b
  32.113 +0x6c	U+006c
  32.114 +0x6d	U+006d
  32.115 +0x6e	U+006e
  32.116 +0x6f	U+006f
  32.117 +0x70	U+0070
  32.118 +0x71	U+0071
  32.119 +0x72	U+0072
  32.120 +0x73	U+0073
  32.121 +0x74	U+0074
  32.122 +0x75	U+0075
  32.123 +0x76	U+0076
  32.124 +0x77	U+0077
  32.125 +0x78	U+0078
  32.126 +0x79	U+0079
  32.127 +0x7a	U+007a
  32.128 +0x7b	U+007b
  32.129 +0x7c	U+007c
  32.130 +0x7d	U+007d
  32.131 +0x7e	U+007e
  32.132 +0x7f	U+007f
  32.133 +0x80	U+0080
  32.134 +0x81	U+0081
  32.135 +0x82	U+0082
  32.136 +0x83	U+0083
  32.137 +0x84	U+0084
  32.138 +0x85	U+0085
  32.139 +0x86	U+0086
  32.140 +0x87	U+0087
  32.141 +0x88	U+0088
  32.142 +0x89	U+0089
  32.143 +0x8a	U+008a
  32.144 +0x8b	U+008b
  32.145 +0x8c	U+008c
  32.146 +0x8d	U+008d
  32.147 +0x8e	U+008e
  32.148 +0x8f	U+008f
  32.149 +0x90	U+0090
  32.150 +0x91	U+0091
  32.151 +0x92	U+0092
  32.152 +0x93	U+0093
  32.153 +0x94	U+0094
  32.154 +0x95	U+0095
  32.155 +0x96	U+0096
  32.156 +0x97	U+0097
  32.157 +0x98	U+0098
  32.158 +0x99	U+0099
  32.159 +0x9a	U+009a
  32.160 +0x9b	U+009b
  32.161 +0x9c	U+009c
  32.162 +0x9d	U+009d
  32.163 +0x9e	U+009e
  32.164 +0x9f	U+009f
  32.165 +0xa0	U+00a0
  32.166 +0xa1	U+0401
  32.167 +0xa2	U+0402
  32.168 +0xa3	U+0490
  32.169 +0xa4	U+0404
  32.170 +0xa5	U+0405
  32.171 +0xa6	U+0406
  32.172 +0xa7	U+0407
  32.173 +0xa8	U+0408
  32.174 +0xa9	U+0409
  32.175 +0xaa	U+040a
  32.176 +0xab	U+040b
  32.177 +0xac	U+040c
  32.178 +0xad	U+00ad
  32.179 +0xae	U+040e
  32.180 +0xaf	U+040f
  32.181 +0xb0	U+0410
  32.182 +0xb1	U+0411
  32.183 +0xb2	U+0412
  32.184 +0xb3	U+0413
  32.185 +0xb4	U+0414
  32.186 +0xb5	U+0415
  32.187 +0xb6	U+0416
  32.188 +0xb7	U+0417
  32.189 +0xb8	U+0418
  32.190 +0xb9	U+0419
  32.191 +0xba	U+041a
  32.192 +0xbb	U+041b
  32.193 +0xbc	U+041c
  32.194 +0xbd	U+041d
  32.195 +0xbe	U+041e
  32.196 +0xbf	U+041f
  32.197 +0xc0	U+0420
  32.198 +0xc1	U+0421
  32.199 +0xc2	U+0422
  32.200 +0xc3	U+0423
  32.201 +0xc4	U+0424
  32.202 +0xc5	U+0425
  32.203 +0xc6	U+0426
  32.204 +0xc7	U+0427
  32.205 +0xc8	U+0428
  32.206 +0xc9	U+0429
  32.207 +0xca	U+042a
  32.208 +0xcb	U+042b
  32.209 +0xcc	U+042c
  32.210 +0xcd	U+042d
  32.211 +0xce	U+042e
  32.212 +0xcf	U+042f
  32.213 +0xd0	U+0430
  32.214 +0xd1	U+0431
  32.215 +0xd2	U+0432
  32.216 +0xd3	U+0433
  32.217 +0xd4	U+0434
  32.218 +0xd5	U+0435
  32.219 +0xd6	U+0436
  32.220 +0xd7	U+0437
  32.221 +0xd8	U+0438
  32.222 +0xd9	U+0439
  32.223 +0xda	U+043a
  32.224 +0xdb	U+043b
  32.225 +0xdc	U+043c
  32.226 +0xdd	U+043d
  32.227 +0xde	U+043e
  32.228 +0xdf	U+043f
  32.229 +0xe0	U+0440
  32.230 +0xe1	U+0441
  32.231 +0xe2	U+0442
  32.232 +0xe3	U+0443
  32.233 +0xe4	U+0444
  32.234 +0xe5	U+0445
  32.235 +0xe6	U+0446
  32.236 +0xe7	U+0447
  32.237 +0xe8	U+0448
  32.238 +0xe9	U+0449
  32.239 +0xea	U+044a
  32.240 +0xeb	U+044b
  32.241 +0xec	U+044c
  32.242 +0xed	U+044d
  32.243 +0xee	U+044e
  32.244 +0xef	U+044f
  32.245 +0xf0	U+2116
  32.246 +0xf1	U+0451
  32.247 +0xf2	U+0452
  32.248 +0xf3	U+0491
  32.249 +0xf4	U+0454
  32.250 +0xf5	U+0455
  32.251 +0xf6	U+0456
  32.252 +0xf7	U+0457
  32.253 +0xf8	U+0458
  32.254 +0xf9	U+0459
  32.255 +0xfa	U+045a
  32.256 +0xfb	U+045b
  32.257 +0xfc	U+045c
  32.258 +0xfd	U+00a7
  32.259 +0xfe	U+045e
  32.260 +0xff	U+045f
    33.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    33.2 +++ b/make/tools/CharsetMapping/IBM1140.c2b	Tue Jan 20 09:42:07 2009 -0800
    33.3 @@ -0,0 +1,1 @@
    33.4 +0x15	U+0085
    34.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    34.2 +++ b/make/tools/CharsetMapping/IBM1140.map	Tue Jan 20 09:42:07 2009 -0800
    34.3 @@ -0,0 +1,257 @@
    34.4 +#Generated from IBM037.java with 0x9f <-> u+20ac
    34.5 +0x00	U+0000
    34.6 +0x01	U+0001
    34.7 +0x02	U+0002
    34.8 +0x03	U+0003
    34.9 +0x04	U+009c
   34.10 +0x05	U+0009
   34.11 +0x06	U+0086
   34.12 +0x07	U+007f
   34.13 +0x08	U+0097
   34.14 +0x09	U+008d
   34.15 +0x0a	U+008e
   34.16 +0x0b	U+000b
   34.17 +0x0c	U+000c
   34.18 +0x0d	U+000d
   34.19 +0x0e	U+000e
   34.20 +0x0f	U+000f
   34.21 +0x10	U+0010
   34.22 +0x11	U+0011
   34.23 +0x12	U+0012
   34.24 +0x13	U+0013
   34.25 +0x14	U+009d
   34.26 +0x15	U+000a
   34.27 +0x16	U+0008
   34.28 +0x17	U+0087
   34.29 +0x18	U+0018
   34.30 +0x19	U+0019
   34.31 +0x1a	U+0092
   34.32 +0x1b	U+008f
   34.33 +0x1c	U+001c
   34.34 +0x1d	U+001d
   34.35 +0x1e	U+001e
   34.36 +0x1f	U+001f
   34.37 +0x20	U+0080
   34.38 +0x21	U+0081
   34.39 +0x22	U+0082
   34.40 +0x23	U+0083
   34.41 +0x24	U+0084
   34.42 +0x25	U+000a
   34.43 +0x26	U+0017
   34.44 +0x27	U+001b
   34.45 +0x28	U+0088
   34.46 +0x29	U+0089
   34.47 +0x2a	U+008a
   34.48 +0x2b	U+008b
   34.49 +0x2c	U+008c
   34.50 +0x2d	U+0005
   34.51 +0x2e	U+0006
   34.52 +0x2f	U+0007
   34.53 +0x30	U+0090
   34.54 +0x31	U+0091
   34.55 +0x32	U+0016
   34.56 +0x33	U+0093
   34.57 +0x34	U+0094
   34.58 +0x35	U+0095
   34.59 +0x36	U+0096
   34.60 +0x37	U+0004
   34.61 +0x38	U+0098
   34.62 +0x39	U+0099
   34.63 +0x3a	U+009a
   34.64 +0x3b	U+009b
   34.65 +0x3c	U+0014
   34.66 +0x3d	U+0015
   34.67 +0x3e	U+009e
   34.68 +0x3f	U+001a
   34.69 +0x40	U+0020
   34.70 +0x41	U+00a0
   34.71 +0x42	U+00e2
   34.72 +0x43	U+00e4
   34.73 +0x44	U+00e0
   34.74 +0x45	U+00e1
   34.75 +0x46	U+00e3
   34.76 +0x47	U+00e5
   34.77 +0x48	U+00e7
   34.78 +0x49	U+00f1
   34.79 +0x4a	U+00a2
   34.80 +0x4b	U+002e
   34.81 +0x4c	U+003c
   34.82 +0x4d	U+0028
   34.83 +0x4e	U+002b
   34.84 +0x4f	U+007c
   34.85 +0x50	U+0026
   34.86 +0x51	U+00e9
   34.87 +0x52	U+00ea
   34.88 +0x53	U+00eb
   34.89 +0x54	U+00e8
   34.90 +0x55	U+00ed
   34.91 +0x56	U+00ee
   34.92 +0x57	U+00ef
   34.93 +0x58	U+00ec
   34.94 +0x59	U+00df
   34.95 +0x5a	U+0021
   34.96 +0x5b	U+0024
   34.97 +0x5c	U+002a
   34.98 +0x5d	U+0029
   34.99 +0x5e	U+003b
  34.100 +0x5f	U+00ac
  34.101 +0x60	U+002d
  34.102 +0x61	U+002f
  34.103 +0x62	U+00c2
  34.104 +0x63	U+00c4
  34.105 +0x64	U+00c0
  34.106 +0x65	U+00c1
  34.107 +0x66	U+00c3
  34.108 +0x67	U+00c5
  34.109 +0x68	U+00c7
  34.110 +0x69	U+00d1
  34.111 +0x6a	U+00a6
  34.112 +0x6b	U+002c
  34.113 +0x6c	U+0025
  34.114 +0x6d	U+005f
  34.115 +0x6e	U+003e
  34.116 +0x6f	U+003f
  34.117 +0x70	U+00f8
  34.118 +0x71	U+00c9
  34.119 +0x72	U+00ca
  34.120 +0x73	U+00cb
  34.121 +0x74	U+00c8
  34.122 +0x75	U+00cd
  34.123 +0x76	U+00ce
  34.124 +0x77	U+00cf
  34.125 +0x78	U+00cc
  34.126 +0x79	U+0060
  34.127 +0x7a	U+003a
  34.128 +0x7b	U+0023
  34.129 +0x7c	U+0040
  34.130 +0x7d	U+0027
  34.131 +0x7e	U+003d
  34.132 +0x7f	U+0022
  34.133 +0x80	U+00d8
  34.134 +0x81	U+0061
  34.135 +0x82	U+0062
  34.136 +0x83	U+0063
  34.137 +0x84	U+0064
  34.138 +0x85	U+0065
  34.139 +0x86	U+0066
  34.140 +0x87	U+0067
  34.141 +0x88	U+0068
  34.142 +0x89	U+0069
  34.143 +0x8a	U+00ab
  34.144 +0x8b	U+00bb
  34.145 +0x8c	U+00f0
  34.146 +0x8d	U+00fd
  34.147 +0x8e	U+00fe
  34.148 +0x8f	U+00b1
  34.149 +0x90	U+00b0
  34.150 +0x91	U+006a
  34.151 +0x92	U+006b
  34.152 +0x93	U+006c
  34.153 +0x94	U+006d
  34.154 +0x95	U+006e
  34.155 +0x96	U+006f
  34.156 +0x97	U+0070
  34.157 +0x98	U+0071
  34.158 +0x99	U+0072
  34.159 +0x9a	U+00aa
  34.160 +0x9b	U+00ba
  34.161 +0x9c	U+00e6
  34.162 +0x9d	U+00b8
  34.163 +0x9e	U+00c6
  34.164 +0x9f	U+20ac
  34.165 +0xa0	U+00b5
  34.166 +0xa1	U+007e
  34.167 +0xa2	U+0073
  34.168 +0xa3	U+0074
  34.169 +0xa4	U+0075
  34.170 +0xa5	U+0076
  34.171 +0xa6	U+0077
  34.172 +0xa7	U+0078
  34.173 +0xa8	U+0079
  34.174 +0xa9	U+007a
  34.175 +0xaa	U+00a1
  34.176 +0xab	U+00bf
  34.177 +0xac	U+00d0
  34.178 +0xad	U+00dd
  34.179 +0xae	U+00de
  34.180 +0xaf	U+00ae
  34.181 +0xb0	U+005e
  34.182 +0xb1	U+00a3
  34.183 +0xb2	U+00a5
  34.184 +0xb3	U+00b7
  34.185 +0xb4	U+00a9
  34.186 +0xb5	U+00a7
  34.187 +0xb6	U+00b6
  34.188 +0xb7	U+00bc
  34.189 +0xb8	U+00bd
  34.190 +0xb9	U+00be
  34.191 +0xba	U+005b
  34.192 +0xbb	U+005d
  34.193 +0xbc	U+00af
  34.194 +0xbd	U+00a8
  34.195 +0xbe	U+00b4
  34.196 +0xbf	U+00d7
  34.197 +0xc0	U+007b
  34.198 +0xc1	U+0041
  34.199 +0xc2	U+0042
  34.200 +0xc3	U+0043
  34.201 +0xc4	U+0044
  34.202 +0xc5	U+0045
  34.203 +0xc6	U+0046
  34.204 +0xc7	U+0047
  34.205 +0xc8	U+0048
  34.206 +0xc9	U+0049
  34.207 +0xca	U+00ad
  34.208 +0xcb	U+00f4
  34.209 +0xcc	U+00f6
  34.210 +0xcd	U+00f2
  34.211 +0xce	U+00f3
  34.212 +0xcf	U+00f5
  34.213 +0xd0	U+007d
  34.214 +0xd1	U+004a
  34.215 +0xd2	U+004b
  34.216 +0xd3	U+004c
  34.217 +0xd4	U+004d
  34.218 +0xd5	U+004e
  34.219 +0xd6	U+004f
  34.220 +0xd7	U+0050
  34.221 +0xd8	U+0051
  34.222 +0xd9	U+0052
  34.223 +0xda	U+00b9
  34.224 +0xdb	U+00fb
  34.225 +0xdc	U+00fc
  34.226 +0xdd	U+00f9
  34.227 +0xde	U+00fa
  34.228 +0xdf	U+00ff
  34.229 +0xe0	U+005c
  34.230 +0xe1	U+00f7
  34.231 +0xe2	U+0053
  34.232 +0xe3	U+0054
  34.233 +0xe4	U+0055
  34.234 +0xe5	U+0056
  34.235 +0xe6	U+0057
  34.236 +0xe7	U+0058
  34.237 +0xe8	U+0059
  34.238 +0xe9	U+005a
  34.239 +0xea	U+00b2
  34.240 +0xeb	U+00d4
  34.241 +0xec	U+00d6
  34.242 +0xed	U+00d2
  34.243 +0xee	U+00d3
  34.244 +0xef	U+00d5
  34.245 +0xf0	U+0030
  34.246 +0xf1	U+0031
  34.247 +0xf2	U+0032
  34.248 +0xf3	U+0033
  34.249 +0xf4	U+0034
  34.250 +0xf5	U+0035
  34.251 +0xf6	U+0036
  34.252 +0xf7	U+0037
  34.253 +0xf8	U+0038
  34.254 +0xf9	U+0039
  34.255 +0xfa	U+00b3
  34.256 +0xfb	U+00db
  34.257 +0xfc	U+00dc
  34.258 +0xfd	U+00d9
  34.259 +0xfe	U+00da
  34.260 +0xff	U+009f
    35.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    35.2 +++ b/make/tools/CharsetMapping/IBM1141.c2b	Tue Jan 20 09:42:07 2009 -0800
    35.3 @@ -0,0 +1,1 @@
    35.4 +0x15	U+0085
    36.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    36.2 +++ b/make/tools/CharsetMapping/IBM1141.map	Tue Jan 20 09:42:07 2009 -0800
    36.3 @@ -0,0 +1,257 @@
    36.4 +#Generated from IBM273.java with 0x9f <-> u+20ac
    36.5 +0x00	U+0000
    36.6 +0x01	U+0001
    36.7 +0x02	U+0002
    36.8 +0x03	U+0003
    36.9 +0x04	U+009c
   36.10 +0x05	U+0009
   36.11 +0x06	U+0086
   36.12 +0x07	U+007f
   36.13 +0x08	U+0097
   36.14 +0x09	U+008d
   36.15 +0x0a	U+008e
   36.16 +0x0b	U+000b
   36.17 +0x0c	U+000c
   36.18 +0x0d	U+000d
   36.19 +0x0e	U+000e
   36.20 +0x0f	U+000f
   36.21 +0x10	U+0010
   36.22 +0x11	U+0011
   36.23 +0x12	U+0012
   36.24 +0x13	U+0013
   36.25 +0x14	U+009d
   36.26 +0x15	U+000a
   36.27 +0x16	U+0008
   36.28 +0x17	U+0087
   36.29 +0x18	U+0018
   36.30 +0x19	U+0019
   36.31 +0x1a	U+0092
   36.32 +0x1b	U+008f
   36.33 +0x1c	U+001c
   36.34 +0x1d	U+001d
   36.35 +0x1e	U+001e
   36.36 +0x1f	U+001f
   36.37 +0x20	U+0080
   36.38 +0x21	U+0081
   36.39 +0x22	U+0082
   36.40 +0x23	U+0083
   36.41 +0x24	U+0084
   36.42 +0x25	U+000a
   36.43 +0x26	U+0017
   36.44 +0x27	U+001b
   36.45 +0x28	U+0088
   36.46 +0x29	U+0089
   36.47 +0x2a	U+008a
   36.48 +0x2b	U+008b
   36.49 +0x2c	U+008c
   36.50 +0x2d	U+0005
   36.51 +0x2e	U+0006
   36.52 +0x2f	U+0007
   36.53 +0x30	U+0090
   36.54 +0x31	U+0091
   36.55 +0x32	U+0016
   36.56 +0x33	U+0093
   36.57 +0x34	U+0094
   36.58 +0x35	U+0095
   36.59 +0x36	U+0096
   36.60 +0x37	U+0004
   36.61 +0x38	U+0098
   36.62 +0x39	U+0099
   36.63 +0x3a	U+009a
   36.64 +0x3b	U+009b
   36.65 +0x3c	U+0014
   36.66 +0x3d	U+0015
   36.67 +0x3e	U+009e
   36.68 +0x3f	U+001a
   36.69 +0x40	U+0020
   36.70 +0x41	U+00a0
   36.71 +0x42	U+00e2
   36.72 +0x43	U+007b
   36.73 +0x44	U+00e0
   36.74 +0x45	U+00e1
   36.75 +0x46	U+00e3
   36.76 +0x47	U+00e5
   36.77 +0x48	U+00e7
   36.78 +0x49	U+00f1
   36.79 +0x4a	U+00c4
   36.80 +0x4b	U+002e
   36.81 +0x4c	U+003c
   36.82 +0x4d	U+0028
   36.83 +0x4e	U+002b
   36.84 +0x4f	U+0021
   36.85 +0x50	U+0026
   36.86 +0x51	U+00e9
   36.87 +0x52	U+00ea
   36.88 +0x53	U+00eb
   36.89 +0x54	U+00e8
   36.90 +0x55	U+00ed
   36.91 +0x56	U+00ee
   36.92 +0x57	U+00ef
   36.93 +0x58	U+00ec
   36.94 +0x59	U+007e
   36.95 +0x5a	U+00dc
   36.96 +0x5b	U+0024
   36.97 +0x5c	U+002a
   36.98 +0x5d	U+0029
   36.99 +0x5e	U+003b
  36.100 +0x5f	U+005e
  36.101 +0x60	U+002d
  36.102 +0x61	U+002f
  36.103 +0x62	U+00c2
  36.104 +0x63	U+005b
  36.105 +0x64	U+00c0
  36.106 +0x65	U+00c1
  36.107 +0x66	U+00c3
  36.108 +0x67	U+00c5
  36.109 +0x68	U+00c7
  36.110 +0x69	U+00d1
  36.111 +0x6a	U+00f6
  36.112 +0x6b	U+002c
  36.113 +0x6c	U+0025
  36.114 +0x6d	U+005f
  36.115 +0x6e	U+003e
  36.116 +0x6f	U+003f
  36.117 +0x70	U+00f8
  36.118 +0x71	U+00c9
  36.119 +0x72	U+00ca
  36.120 +0x73	U+00cb
  36.121 +0x74	U+00c8
  36.122 +0x75	U+00cd
  36.123 +0x76	U+00ce
  36.124 +0x77	U+00cf
  36.125 +0x78	U+00cc
  36.126 +0x79	U+0060
  36.127 +0x7a	U+003a
  36.128 +0x7b	U+0023
  36.129 +0x7c	U+00a7
  36.130 +0x7d	U+0027
  36.131 +0x7e	U+003d
  36.132 +0x7f	U+0022
  36.133 +0x80	U+00d8
  36.134 +0x81	U+0061
  36.135 +0x82	U+0062
  36.136 +0x83	U+0063
  36.137 +0x84	U+0064
  36.138 +0x85	U+0065
  36.139 +0x86	U+0066
  36.140 +0x87	U+0067
  36.141 +0x88	U+0068
  36.142 +0x89	U+0069
  36.143 +0x8a	U+00ab
  36.144 +0x8b	U+00bb
  36.145 +0x8c	U+00f0
  36.146 +0x8d	U+00fd
  36.147 +0x8e	U+00fe
  36.148 +0x8f	U+00b1
  36.149 +0x90	U+00b0
  36.150 +0x91	U+006a
  36.151 +0x92	U+006b
  36.152 +0x93	U+006c
  36.153 +0x94	U+006d
  36.154 +0x95	U+006e
  36.155 +0x96	U+006f
  36.156 +0x97	U+0070
  36.157 +0x98	U+0071
  36.158 +0x99	U+0072
  36.159 +0x9a	U+00aa
  36.160 +0x9b	U+00ba
  36.161 +0x9c	U+00e6
  36.162 +0x9d	U+00b8
  36.163 +0x9e	U+00c6
  36.164 +0x9f	U+20ac
  36.165 +0xa0	U+00b5
  36.166 +0xa1	U+00df
  36.167 +0xa2	U+0073
  36.168 +0xa3	U+0074
  36.169 +0xa4	U+0075
  36.170 +0xa5	U+0076
  36.171 +0xa6	U+0077
  36.172 +0xa7	U+0078
  36.173 +0xa8	U+0079
  36.174 +0xa9	U+007a
  36.175 +0xaa	U+00a1
  36.176 +0xab	U+00bf
  36.177 +0xac	U+00d0
  36.178 +0xad	U+00dd
  36.179 +0xae	U+00de
  36.180 +0xaf	U+00ae
  36.181 +0xb0	U+00a2
  36.182 +0xb1	U+00a3
  36.183 +0xb2	U+00a5
  36.184 +0xb3	U+00b7
  36.185 +0xb4	U+00a9
  36.186 +0xb5	U+0040
  36.187 +0xb6	U+00b6
  36.188 +0xb7	U+00bc
  36.189 +0xb8	U+00bd
  36.190 +0xb9	U+00be
  36.191 +0xba	U+00ac
  36.192 +0xbb	U+007c
  36.193 +0xbc	U+00af
  36.194 +0xbd	U+00a8
  36.195 +0xbe	U+00b4
  36.196 +0xbf	U+00d7
  36.197 +0xc0	U+00e4
  36.198 +0xc1	U+0041
  36.199 +0xc2	U+0042
  36.200 +0xc3	U+0043
  36.201 +0xc4	U+0044
  36.202 +0xc5	U+0045
  36.203 +0xc6	U+0046
  36.204 +0xc7	U+0047
  36.205 +0xc8	U+0048
  36.206 +0xc9	U+0049
  36.207 +0xca	U+00ad
  36.208 +0xcb	U+00f4
  36.209 +0xcc	U+00a6
  36.210 +0xcd	U+00f2
  36.211 +0xce	U+00f3
  36.212 +0xcf	U+00f5
  36.213 +0xd0	U+00fc
  36.214 +0xd1	U+004a
  36.215 +0xd2	U+004b
  36.216 +0xd3	U+004c
  36.217 +0xd4	U+004d
  36.218 +0xd5	U+004e
  36.219 +0xd6	U+004f
  36.220 +0xd7	U+0050
  36.221 +0xd8	U+0051
  36.222 +0xd9	U+0052
  36.223 +0xda	U+00b9
  36.224 +0xdb	U+00fb
  36.225 +0xdc	U+007d
  36.226 +0xdd	U+00f9
  36.227 +0xde	U+00fa
  36.228 +0xdf	U+00ff
  36.229 +0xe0	U+00d6
  36.230 +0xe1	U+00f7
  36.231 +0xe2	U+0053
  36.232 +0xe3	U+0054
  36.233 +0xe4	U+0055
  36.234 +0xe5	U+0056
  36.235 +0xe6	U+0057
  36.236 +0xe7	U+0058
  36.237 +0xe8	U+0059
  36.238 +0xe9	U+005a
  36.239 +0xea	U+00b2
  36.240 +0xeb	U+00d4
  36.241 +0xec	U+005c
  36.242 +0xed	U+00d2
  36.243 +0xee	U+00d3
  36.244 +0xef	U+00d5
  36.245 +0xf0	U+0030
  36.246 +0xf1	U+0031
  36.247 +0xf2	U+0032
  36.248 +0xf3	U+0033
  36.249 +0xf4	U+0034
  36.250 +0xf5	U+0035
  36.251 +0xf6	U+0036
  36.252 +0xf7	U+0037
  36.253 +0xf8	U+0038
  36.254 +0xf9	U+0039
  36.255 +0xfa	U+00b3
  36.256 +0xfb	U+00db
  36.257 +0xfc	U+005d
  36.258 +0xfd	U+00d9
  36.259 +0xfe	U+00da
  36.260 +0xff	U+009f
    37.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    37.2 +++ b/make/tools/CharsetMapping/IBM1142.c2b	Tue Jan 20 09:42:07 2009 -0800
    37.3 @@ -0,0 +1,1 @@
    37.4 +0x15	U+0085
    38.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    38.2 +++ b/make/tools/CharsetMapping/IBM1142.map	Tue Jan 20 09:42:07 2009 -0800
    38.3 @@ -0,0 +1,257 @@
    38.4 +#Generated from IBM277.java with 0x5a <-> u+20ac
    38.5 +0x00	U+0000
    38.6 +0x01	U+0001
    38.7 +0x02	U+0002
    38.8 +0x03	U+0003
    38.9 +0x04	U+009c
   38.10 +0x05	U+0009
   38.11 +0x06	U+0086
   38.12 +0x07	U+007f
   38.13 +0x08	U+0097
   38.14 +0x09	U+008d
   38.15 +0x0a	U+008e
   38.16 +0x0b	U+000b
   38.17 +0x0c	U+000c
   38.18 +0x0d	U+000d
   38.19 +0x0e	U+000e
   38.20 +0x0f	U+000f
   38.21 +0x10	U+0010
   38.22 +0x11	U+0011
   38.23 +0x12	U+0012
   38.24 +0x13	U+0013
   38.25 +0x14	U+009d
   38.26 +0x15	U+000a
   38.27 +0x16	U+0008
   38.28 +0x17	U+0087
   38.29 +0x18	U+0018
   38.30 +0x19	U+0019
   38.31 +0x1a	U+0092
   38.32 +0x1b	U+008f
   38.33 +0x1c	U+001c
   38.34 +0x1d	U+001d
   38.35 +0x1e	U+001e
   38.36 +0x1f	U+001f
   38.37 +0x20	U+0080
   38.38 +0x21	U+0081
   38.39 +0x22	U+0082
   38.40 +0x23	U+0083
   38.41 +0x24	U+0084
   38.42 +0x25	U+000a
   38.43 +0x26	U+0017
   38.44 +0x27	U+001b
   38.45 +0x28	U+0088
   38.46 +0x29	U+0089
   38.47 +0x2a	U+008a
   38.48 +0x2b	U+008b
   38.49 +0x2c	U+008c
   38.50 +0x2d	U+0005
   38.51 +0x2e	U+0006
   38.52 +0x2f	U+0007
   38.53 +0x30	U+0090
   38.54 +0x31	U+0091
   38.55 +0x32	U+0016
   38.56 +0x33	U+0093
   38.57 +0x34	U+0094
   38.58 +0x35	U+0095
   38.59 +0x36	U+0096
   38.60 +0x37	U+0004
   38.61 +0x38	U+0098
   38.62 +0x39	U+0099
   38.63 +0x3a	U+009a
   38.64 +0x3b	U+009b
   38.65 +0x3c	U+0014
   38.66 +0x3d	U+0015
   38.67 +0x3e	U+009e
   38.68 +0x3f	U+001a
   38.69 +0x40	U+0020
   38.70 +0x41	U+00a0
   38.71 +0x42	U+00e2
   38.72 +0x43	U+00e4
   38.73 +0x44	U+00e0
   38.74 +0x45	U+00e1
   38.75 +0x46	U+00e3
   38.76 +0x47	U+007d
   38.77 +0x48	U+00e7
   38.78 +0x49	U+00f1
   38.79 +0x4a	U+0023
   38.80 +0x4b	U+002e
   38.81 +0x4c	U+003c
   38.82 +0x4d	U+0028
   38.83 +0x4e	U+002b
   38.84 +0x4f	U+0021
   38.85 +0x50	U+0026
   38.86 +0x51	U+00e9
   38.87 +0x52	U+00ea
   38.88 +0x53	U+00eb
   38.89 +0x54	U+00e8
   38.90 +0x55	U+00ed
   38.91 +0x56	U+00ee
   38.92 +0x57	U+00ef
   38.93 +0x58	U+00ec
   38.94 +0x59	U+00df
   38.95 +0x5a	U+20ac
   38.96 +0x5b	U+00c5
   38.97 +0x5c	U+002a
   38.98 +0x5d	U+0029
   38.99 +0x5e	U+003b
  38.100 +0x5f	U+005e
  38.101 +0x60	U+002d
  38.102 +0x61	U+002f
  38.103 +0x62	U+00c2
  38.104 +0x63	U+00c4
  38.105 +0x64	U+00c0
  38.106 +0x65	U+00c1
  38.107 +0x66	U+00c3
  38.108 +0x67	U+0024
  38.109 +0x68	U+00c7
  38.110 +0x69	U+00d1
  38.111 +0x6a	U+00f8
  38.112 +0x6b	U+002c
  38.113 +0x6c	U+0025
  38.114 +0x6d	U+005f
  38.115 +0x6e	U+003e
  38.116 +0x6f	U+003f
  38.117 +0x70	U+00a6
  38.118 +0x71	U+00c9
  38.119 +0x72	U+00ca
  38.120 +0x73	U+00cb
  38.121 +0x74	U+00c8
  38.122 +0x75	U+00cd
  38.123 +0x76	U+00ce
  38.124 +0x77	U+00cf
  38.125 +0x78	U+00cc
  38.126 +0x79	U+0060
  38.127 +0x7a	U+003a
  38.128 +0x7b	U+00c6
  38.129 +0x7c	U+00d8
  38.130 +0x7d	U+0027
  38.131 +0x7e	U+003d
  38.132 +0x7f	U+0022
  38.133 +0x80	U+0040
  38.134 +0x81	U+0061
  38.135 +0x82	U+0062
  38.136 +0x83	U+0063
  38.137 +0x84	U+0064
  38.138 +0x85	U+0065
  38.139 +0x86	U+0066
  38.140 +0x87	U+0067
  38.141 +0x88	U+0068
  38.142 +0x89	U+0069
  38.143 +0x8a	U+00ab
  38.144 +0x8b	U+00bb
  38.145 +0x8c	U+00f0
  38.146 +0x8d	U+00fd
  38.147 +0x8e	U+00fe
  38.148 +0x8f	U+00b1
  38.149 +0x90	U+00b0
  38.150 +0x91	U+006a
  38.151 +0x92	U+006b
  38.152 +0x93	U+006c
  38.153 +0x94	U+006d
  38.154 +0x95	U+006e
  38.155 +0x96	U+006f
  38.156 +0x97	U+0070
  38.157 +0x98	U+0071
  38.158 +0x99	U+0072
  38.159 +0x9a	U+00aa
  38.160 +0x9b	U+00ba
  38.161 +0x9c	U+007b
  38.162 +0x9d	U+00b8
  38.163 +0x9e	U+005b
  38.164 +0x9f	U+005d
  38.165 +0xa0	U+00b5
  38.166 +0xa1	U+00fc
  38.167 +0xa2	U+0073
  38.168 +0xa3	U+0074
  38.169 +0xa4	U+0075
  38.170 +0xa5	U+0076
  38.171 +0xa6	U+0077
  38.172 +0xa7	U+0078
  38.173 +0xa8	U+0079
  38.174 +0xa9	U+007a
  38.175 +0xaa	U+00a1
  38.176 +0xab	U+00bf
  38.177 +0xac	U+00d0
  38.178 +0xad	U+00dd
  38.179 +0xae	U+00de
  38.180 +0xaf	U+00ae
  38.181 +0xb0	U+00a2
  38.182 +0xb1	U+00a3
  38.183 +0xb2	U+00a5
  38.184 +0xb3	U+00b7
  38.185 +0xb4	U+00a9
  38.186 +0xb5	U+00a7
  38.187 +0xb6	U+00b6
  38.188 +0xb7	U+00bc
  38.189 +0xb8	U+00bd
  38.190 +0xb9	U+00be
  38.191 +0xba	U+00ac
  38.192 +0xbb	U+007c
  38.193 +0xbc	U+00af
  38.194 +0xbd	U+00a8
  38.195 +0xbe	U+00b4
  38.196 +0xbf	U+00d7
  38.197 +0xc0	U+00e6
  38.198 +0xc1	U+0041
  38.199 +0xc2	U+0042
  38.200 +0xc3	U+0043
  38.201 +0xc4	U+0044
  38.202 +0xc5	U+0045
  38.203 +0xc6	U+0046
  38.204 +0xc7	U+0047
  38.205 +0xc8	U+0048
  38.206 +0xc9	U+0049
  38.207 +0xca	U+00ad
  38.208 +0xcb	U+00f4
  38.209 +0xcc	U+00f6
  38.210 +0xcd	U+00f2
  38.211 +0xce	U+00f3
  38.212 +0xcf	U+00f5
  38.213 +0xd0	U+00e5
  38.214 +0xd1	U+004a
  38.215 +0xd2	U+004b
  38.216 +0xd3	U+004c
  38.217 +0xd4	U+004d
  38.218 +0xd5	U+004e
  38.219 +0xd6	U+004f
  38.220 +0xd7	U+0050
  38.221 +0xd8	U+0051
  38.222 +0xd9	U+0052
  38.223 +0xda	U+00b9
  38.224 +0xdb	U+00fb
  38.225 +0xdc	U+007e
  38.226 +0xdd	U+00f9
  38.227 +0xde	U+00fa
  38.228 +0xdf	U+00ff
  38.229 +0xe0	U+005c
  38.230 +0xe1	U+00f7
  38.231 +0xe2	U+0053
  38.232 +0xe3	U+0054
  38.233 +0xe4	U+0055
  38.234 +0xe5	U+0056
  38.235 +0xe6	U+0057
  38.236 +0xe7	U+0058
  38.237 +0xe8	U+0059
  38.238 +0xe9	U+005a
  38.239 +0xea	U+00b2
  38.240 +0xeb	U+00d4
  38.241 +0xec	U+00d6
  38.242 +0xed	U+00d2
  38.243 +0xee	U+00d3
  38.244 +0xef	U+00d5
  38.245 +0xf0	U+0030
  38.246 +0xf1	U+0031
  38.247 +0xf2	U+0032
  38.248 +0xf3	U+0033
  38.249 +0xf4	U+0034
  38.250 +0xf5	U+0035
  38.251 +0xf6	U+0036
  38.252 +0xf7	U+0037
  38.253 +0xf8	U+0038
  38.254 +0xf9	U+0039
  38.255 +0xfa	U+00b3
  38.256 +0xfb	U+00db
  38.257 +0xfc	U+00dc
  38.258 +0xfd	U+00d9
  38.259 +0xfe	U+00da
  38.260 +0xff	U+009f
    39.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    39.2 +++ b/make/tools/CharsetMapping/IBM1143.c2b	Tue Jan 20 09:42:07 2009 -0800
    39.3 @@ -0,0 +1,1 @@
    39.4 +0x15	U+0085
    40.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    40.2 +++ b/make/tools/CharsetMapping/IBM1143.map	Tue Jan 20 09:42:07 2009 -0800
    40.3 @@ -0,0 +1,257 @@
    40.4 +#Generated from IBM278.java  with 0x5a <-> u+20ac
    40.5 +0x00	U+0000
    40.6 +0x01	U+0001
    40.7 +0x02	U+0002
    40.8 +0x03	U+0003
    40.9 +0x04	U+009c
   40.10 +0x05	U+0009
   40.11 +0x06	U+0086
   40.12 +0x07	U+007f
   40.13 +0x08	U+0097
   40.14 +0x09	U+008d
   40.15 +0x0a	U+008e
   40.16 +0x0b	U+000b
   40.17 +0x0c	U+000c
   40.18 +0x0d	U+000d
   40.19 +0x0e	U+000e
   40.20 +0x0f	U+000f
   40.21 +0x10	U+0010
   40.22 +0x11	U+0011
   40.23 +0x12	U+0012
   40.24 +0x13	U+0013
   40.25 +0x14	U+009d
   40.26 +0x15	U+000a
   40.27 +0x16	U+0008
   40.28 +0x17	U+0087
   40.29 +0x18	U+0018
   40.30 +0x19	U+0019
   40.31 +0x1a	U+0092
   40.32 +0x1b	U+008f
   40.33 +0x1c	U+001c
   40.34 +0x1d	U+001d
   40.35 +0x1e	U+001e
   40.36 +0x1f	U+001f
   40.37 +0x20	U+0080
   40.38 +0x21	U+0081
   40.39 +0x22	U+0082
   40.40 +0x23	U+0083
   40.41 +0x24	U+0084
   40.42 +0x25	U+000a
   40.43 +0x26	U+0017
   40.44 +0x27	U+001b
   40.45 +0x28	U+0088
   40.46 +0x29	U+0089
   40.47 +0x2a	U+008a
   40.48 +0x2b	U+008b
   40.49 +0x2c	U+008c
   40.50 +0x2d	U+0005
   40.51 +0x2e	U+0006
   40.52 +0x2f	U+0007
   40.53 +0x30	U+0090
   40.54 +0x31	U+0091
   40.55 +0x32	U+0016
   40.56 +0x33	U+0093
   40.57 +0x34	U+0094
   40.58 +0x35	U+0095
   40.59 +0x36	U+0096
   40.60 +0x37	U+0004
   40.61 +0x38	U+0098
   40.62 +0x39	U+0099
   40.63 +0x3a	U+009a
   40.64 +0x3b	U+009b
   40.65 +0x3c	U+0014
   40.66 +0x3d	U+0015
   40.67 +0x3e	U+009e
   40.68 +0x3f	U+001a
   40.69 +0x40	U+0020
   40.70 +0x41	U+00a0
   40.71 +0x42	U+00e2
   40.72 +0x43	U+007b
   40.73 +0x44	U+00e0
   40.74 +0x45	U+00e1
   40.75 +0x46	U+00e3
   40.76 +0x47	U+007d
   40.77 +0x48	U+00e7
   40.78 +0x49	U+00f1
   40.79 +0x4a	U+00a7
   40.80 +0x4b	U+002e
   40.81 +0x4c	U+003c
   40.82 +0x4d	U+0028
   40.83 +0x4e	U+002b
   40.84 +0x4f	U+0021
   40.85 +0x50	U+0026
   40.86 +0x51	U+0060
   40.87 +0x52	U+00ea
   40.88 +0x53	U+00eb
   40.89 +0x54	U+00e8
   40.90 +0x55	U+00ed
   40.91 +0x56	U+00ee
   40.92 +0x57	U+00ef
   40.93 +0x58	U+00ec
   40.94 +0x59	U+00df
   40.95 +0x5a	U+20ac
   40.96 +0x5b	U+00c5
   40.97 +0x5c	U+002a
   40.98 +0x5d	U+0029
   40.99 +0x5e	U+003b
  40.100 +0x5f	U+005e
  40.101 +0x60	U+002d
  40.102 +0x61	U+002f
  40.103 +0x62	U+00c2
  40.104 +0x63	U+0023
  40.105 +0x64	U+00c0
  40.106 +0x65	U+00c1
  40.107 +0x66	U+00c3
  40.108 +0x67	U+0024
  40.109 +0x68	U+00c7
  40.110 +0x69	U+00d1
  40.111 +0x6a	U+00f6
  40.112 +0x6b	U+002c
  40.113 +0x6c	U+0025
  40.114 +0x6d	U+005f
  40.115 +0x6e	U+003e
  40.116 +0x6f	U+003f
  40.117 +0x70	U+00f8
  40.118 +0x71	U+005c
  40.119 +0x72	U+00ca
  40.120 +0x73	U+00cb
  40.121 +0x74	U+00c8
  40.122 +0x75	U+00cd
  40.123 +0x76	U+00ce
  40.124 +0x77	U+00cf
  40.125 +0x78	U+00cc
  40.126 +0x79	U+00e9
  40.127 +0x7a	U+003a
  40.128 +0x7b	U+00c4
  40.129 +0x7c	U+00d6
  40.130 +0x7d	U+0027
  40.131 +0x7e	U+003d
  40.132 +0x7f	U+0022
  40.133 +0x80	U+00d8
  40.134 +0x81	U+0061
  40.135 +0x82	U+0062
  40.136 +0x83	U+0063
  40.137 +0x84	U+0064
  40.138 +0x85	U+0065
  40.139 +0x86	U+0066
  40.140 +0x87	U+0067
  40.141 +0x88	U+0068
  40.142 +0x89	U+0069
  40.143 +0x8a	U+00ab
  40.144 +0x8b	U+00bb
  40.145 +0x8c	U+00f0
  40.146 +0x8d	U+00fd
  40.147 +0x8e	U+00fe
  40.148 +0x8f	U+00b1
  40.149 +0x90	U+00b0
  40.150 +0x91	U+006a
  40.151 +0x92	U+006b
  40.152 +0x93	U+006c
  40.153 +0x94	U+006d
  40.154 +0x95	U+006e
  40.155 +0x96	U+006f
  40.156 +0x97	U+0070
  40.157 +0x98	U+0071
  40.158 +0x99	U+0072
  40.159 +0x9a	U+00aa
  40.160 +0x9b	U+00ba
  40.161 +0x9c	U+00e6
  40.162 +0x9d	U+00b8
  40.163 +0x9e	U+00c6
  40.164 +0x9f	U+005d
  40.165 +0xa0	U+00b5
  40.166 +0xa1	U+00fc
  40.167 +0xa2	U+0073
  40.168 +0xa3	U+0074
  40.169 +0xa4	U+0075
  40.170 +0xa5	U+0076
  40.171 +0xa6	U+0077
  40.172 +0xa7	U+0078
  40.173 +0xa8	U+0079
  40.174 +0xa9	U+007a
  40.175 +0xaa	U+00a1
  40.176 +0xab	U+00bf
  40.177 +0xac	U+00d0
  40.178 +0xad	U+00dd
  40.179 +0xae	U+00de
  40.180 +0xaf	U+00ae
  40.181 +0xb0	U+00a2
  40.182 +0xb1	U+00a3
  40.183 +0xb2	U+00a5
  40.184 +0xb3	U+00b7
  40.185 +0xb4	U+00a9
  40.186 +0xb5	U+005b
  40.187 +0xb6	U+00b6
  40.188 +0xb7	U+00bc
  40.189 +0xb8	U+00bd
  40.190 +0xb9	U+00be
  40.191 +0xba	U+00ac
  40.192 +0xbb	U+007c
  40.193 +0xbc	U+00af
  40.194 +0xbd	U+00a8
  40.195 +0xbe	U+00b4
  40.196 +0xbf	U+00d7
  40.197 +0xc0	U+00e4
  40.198 +0xc1	U+0041
  40.199 +0xc2	U+0042
  40.200 +0xc3	U+0043
  40.201 +0xc4	U+0044
  40.202 +0xc5	U+0045
  40.203 +0xc6	U+0046
  40.204 +0xc7	U+0047
  40.205 +0xc8	U+0048
  40.206 +0xc9	U+0049
  40.207 +0xca	U+00ad
  40.208 +0xcb	U+00f4
  40.209 +0xcc	U+00a6
  40.210 +0xcd	U+00f2
  40.211 +0xce	U+00f3
  40.212 +0xcf	U+00f5
  40.213 +0xd0	U+00e5
  40.214 +0xd1	U+004a
  40.215 +0xd2	U+004b
  40.216 +0xd3	U+004c
  40.217 +0xd4	U+004d
  40.218 +0xd5	U+004e
  40.219 +0xd6	U+004f
  40.220 +0xd7	U+0050
  40.221 +0xd8	U+0051
  40.222 +0xd9	U+0052
  40.223 +0xda	U+00b9
  40.224 +0xdb	U+00fb
  40.225 +0xdc	U+007e
  40.226 +0xdd	U+00f9
  40.227 +0xde	U+00fa
  40.228 +0xdf	U+00ff
  40.229 +0xe0	U+00c9
  40.230 +0xe1	U+00f7
  40.231 +0xe2	U+0053
  40.232 +0xe3	U+0054
  40.233 +0xe4	U+0055
  40.234 +0xe5	U+0056
  40.235 +0xe6	U+0057
  40.236 +0xe7	U+0058
  40.237 +0xe8	U+0059
  40.238 +0xe9	U+005a
  40.239 +0xea	U+00b2
  40.240 +0xeb	U+00d4
  40.241 +0xec	U+0040
  40.242 +0xed	U+00d2
  40.243 +0xee	U+00d3
  40.244 +0xef	U+00d5
  40.245 +0xf0	U+0030
  40.246 +0xf1	U+0031
  40.247 +0xf2	U+0032
  40.248 +0xf3	U+0033
  40.249 +0xf4	U+0034
  40.250 +0xf5	U+0035
  40.251 +0xf6	U+0036
  40.252 +0xf7	U+0037
  40.253 +0xf8	U+0038
  40.254 +0xf9	U+0039
  40.255 +0xfa	U+00b3
  40.256 +0xfb	U+00db
  40.257 +0xfc	U+00dc
  40.258 +0xfd	U+00d9
  40.259 +0xfe	U+00da
  40.260 +0xff	U+009f
    41.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    41.2 +++ b/make/tools/CharsetMapping/IBM1144.c2b	Tue Jan 20 09:42:07 2009 -0800
    41.3 @@ -0,0 +1,1 @@
    41.4 +0x15	U+0085
    42.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    42.2 +++ b/make/tools/CharsetMapping/IBM1144.map	Tue Jan 20 09:42:07 2009 -0800
    42.3 @@ -0,0 +1,257 @@
    42.4 +#Generated from IBM280.java   with 0x9f <-> u+20ac
    42.5 +0x00	U+0000
    42.6 +0x01	U+0001
    42.7 +0x02	U+0002
    42.8 +0x03	U+0003
    42.9 +0x04	U+009c
   42.10 +0x05	U+0009
   42.11 +0x06	U+0086
   42.12 +0x07	U+007f
   42.13 +0x08	U+0097
   42.14 +0x09	U+008d
   42.15 +0x0a	U+008e
   42.16 +0x0b	U+000b
   42.17 +0x0c	U+000c
   42.18 +0x0d	U+000d
   42.19 +0x0e	U+000e
   42.20 +0x0f	U+000f
   42.21 +0x10	U+0010
   42.22 +0x11	U+0011
   42.23 +0x12	U+0012
   42.24 +0x13	U+0013
   42.25 +0x14	U+009d
   42.26 +0x15	U+000a
   42.27 +0x16	U+0008
   42.28 +0x17	U+0087
   42.29 +0x18	U+0018
   42.30 +0x19	U+0019
   42.31 +0x1a	U+0092
   42.32 +0x1b	U+008f
   42.33 +0x1c	U+001c
   42.34 +0x1d	U+001d
   42.35 +0x1e	U+001e
   42.36 +0x1f	U+001f
   42.37 +0x20	U+0080
   42.38 +0x21	U+0081
   42.39 +0x22	U+0082
   42.40 +0x23	U+0083
   42.41 +0x24	U+0084
   42.42 +0x25	U+000a
   42.43 +0x26	U+0017
   42.44 +0x27	U+001b
   42.45 +0x28	U+0088
   42.46 +0x29	U+0089
   42.47 +0x2a	U+008a
   42.48 +0x2b	U+008b
   42.49 +0x2c	U+008c
   42.50 +0x2d	U+0005
   42.51 +0x2e	U+0006
   42.52 +0x2f	U+0007
   42.53 +0x30	U+0090
   42.54 +0x31	U+0091
   42.55 +0x32	U+0016
   42.56 +0x33	U+0093
   42.57 +0x34	U+0094
   42.58 +0x35	U+0095
   42.59 +0x36	U+0096
   42.60 +0x37	U+0004
   42.61 +0x38	U+0098
   42.62 +0x39	U+0099
   42.63 +0x3a	U+009a
   42.64 +0x3b	U+009b
   42.65 +0x3c	U+0014
   42.66 +0x3d	U+0015
   42.67 +0x3e	U+009e
   42.68 +0x3f	U+001a
   42.69 +0x40	U+0020
   42.70 +0x41	U+00a0
   42.71 +0x42	U+00e2
   42.72 +0x43	U+00e4
   42.73 +0x44	U+007b
   42.74 +0x45	U+00e1
   42.75 +0x46	U+00e3
   42.76 +0x47	U+00e5
   42.77 +0x48	U+005c
   42.78 +0x49	U+00f1
   42.79 +0x4a	U+00b0
   42.80 +0x4b	U+002e
   42.81 +0x4c	U+003c
   42.82 +0x4d	U+0028
   42.83 +0x4e	U+002b
   42.84 +0x4f	U+0021
   42.85 +0x50	U+0026
   42.86 +0x51	U+005d
   42.87 +0x52	U+00ea
   42.88 +0x53	U+00eb
   42.89 +0x54	U+007d
   42.90 +0x55	U+00ed
   42.91 +0x56	U+00ee
   42.92 +0x57	U+00ef
   42.93 +0x58	U+007e
   42.94 +0x59	U+00df
   42.95 +0x5a	U+00e9
   42.96 +0x5b	U+0024
   42.97 +0x5c	U+002a
   42.98 +0x5d	U+0029
   42.99 +0x5e	U+003b
  42.100 +0x5f	U+005e
  42.101 +0x60	U+002d
  42.102 +0x61	U+002f
  42.103 +0x62	U+00c2
  42.104 +0x63	U+00c4
  42.105 +0x64	U+00c0
  42.106 +0x65	U+00c1
  42.107 +0x66	U+00c3
  42.108 +0x67	U+00c5
  42.109 +0x68	U+00c7
  42.110 +0x69	U+00d1
  42.111 +0x6a	U+00f2
  42.112 +0x6b	U+002c
  42.113 +0x6c	U+0025
  42.114 +0x6d	U+005f
  42.115 +0x6e	U+003e
  42.116 +0x6f	U+003f
  42.117 +0x70	U+00f8
  42.118 +0x71	U+00c9
  42.119 +0x72	U+00ca
  42.120 +0x73	U+00cb
  42.121 +0x74	U+00c8
  42.122 +0x75	U+00cd
  42.123 +0x76	U+00ce
  42.124 +0x77	U+00cf
  42.125 +0x78	U+00cc
  42.126 +0x79	U+00f9
  42.127 +0x7a	U+003a
  42.128 +0x7b	U+00a3
  42.129 +0x7c	U+00a7
  42.130 +0x7d	U+0027
  42.131 +0x7e	U+003d
  42.132 +0x7f	U+0022
  42.133 +0x80	U+00d8
  42.134 +0x81	U+0061
  42.135 +0x82	U+0062
  42.136 +0x83	U+0063
  42.137 +0x84	U+0064
  42.138 +0x85	U+0065
  42.139 +0x86	U+0066
  42.140 +0x87	U+0067
  42.141 +0x88	U+0068
  42.142 +0x89	U+0069
  42.143 +0x8a	U+00ab
  42.144 +0x8b	U+00bb
  42.145 +0x8c	U+00f0
  42.146 +0x8d	U+00fd
  42.147 +0x8e	U+00fe
  42.148 +0x8f	U+00b1
  42.149 +0x90	U+005b
  42.150 +0x91	U+006a
  42.151 +0x92	U+006b
  42.152 +0x93	U+006c
  42.153 +0x94	U+006d
  42.154 +0x95	U+006e
  42.155 +0x96	U+006f
  42.156 +0x97	U+0070
  42.157 +0x98	U+0071
  42.158 +0x99	U+0072
  42.159 +0x9a	U+00aa
  42.160 +0x9b	U+00ba
  42.161 +0x9c	U+00e6
  42.162 +0x9d	U+00b8
  42.163 +0x9e	U+00c6
  42.164 +0x9f	U+20ac
  42.165 +0xa0	U+00b5
  42.166 +0xa1	U+00ec
  42.167 +0xa2	U+0073
  42.168 +0xa3	U+0074
  42.169 +0xa4	U+0075
  42.170 +0xa5	U+0076
  42.171 +0xa6	U+0077
  42.172 +0xa7	U+0078
  42.173 +0xa8	U+0079
  42.174 +0xa9	U+007a
  42.175 +0xaa	U+00a1
  42.176 +0xab	U+00bf
  42.177 +0xac	U+00d0
  42.178 +0xad	U+00dd
  42.179 +0xae	U+00de
  42.180 +0xaf	U+00ae
  42.181 +0xb0	U+00a2
  42.182 +0xb1	U+0023
  42.183 +0xb2	U+00a5
  42.184 +0xb3	U+00b7
  42.185 +0xb4	U+00a9
  42.186 +0xb5	U+0040
  42.187 +0xb6	U+00b6
  42.188 +0xb7	U+00bc
  42.189 +0xb8	U+00bd
  42.190 +0xb9	U+00be
  42.191 +0xba	U+00ac
  42.192 +0xbb	U+007c
  42.193 +0xbc	U+00af
  42.194 +0xbd	U+00a8
  42.195 +0xbe	U+00b4
  42.196 +0xbf	U+00d7
  42.197 +0xc0	U+00e0
  42.198 +0xc1	U+0041
  42.199 +0xc2	U+0042
  42.200 +0xc3	U+0043
  42.201 +0xc4	U+0044
  42.202 +0xc5	U+0045
  42.203 +0xc6	U+0046
  42.204 +0xc7	U+0047
  42.205 +0xc8	U+0048
  42.206 +0xc9	U+0049
  42.207 +0xca	U+00ad
  42.208 +0xcb	U+00f4
  42.209 +0xcc	U+00f6
  42.210 +0xcd	U+00a6
  42.211 +0xce	U+00f3
  42.212 +0xcf	U+00f5
  42.213 +0xd0	U+00e8
  42.214 +0xd1	U+004a
  42.215 +0xd2	U+004b
  42.216 +0xd3	U+004c
  42.217 +0xd4	U+004d
  42.218 +0xd5	U+004e
  42.219 +0xd6	U+004f
  42.220 +0xd7	U+0050
  42.221 +0xd8	U+0051
  42.222 +0xd9	U+0052
  42.223 +0xda	U+00b9
  42.224 +0xdb	U+00fb
  42.225 +0xdc	U+00fc
  42.226 +0xdd	U+0060
  42.227 +0xde	U+00fa
  42.228 +0xdf	U+00ff
  42.229 +0xe0	U+00e7
  42.230 +0xe1	U+00f7
  42.231 +0xe2	U+0053
  42.232 +0xe3	U+0054
  42.233 +0xe4	U+0055
  42.234 +0xe5	U+0056
  42.235 +0xe6	U+0057
  42.236 +0xe7	U+0058
  42.237 +0xe8	U+0059
  42.238 +0xe9	U+005a
  42.239 +0xea	U+00b2
  42.240 +0xeb	U+00d4
  42.241 +0xec	U+00d6
  42.242 +0xed	U+00d2
  42.243 +0xee	U+00d3
  42.244 +0xef	U+00d5
  42.245 +0xf0	U+0030
  42.246 +0xf1	U+0031
  42.247 +0xf2	U+0032
  42.248 +0xf3	U+0033
  42.249 +0xf4	U+0034
  42.250 +0xf5	U+0035
  42.251 +0xf6	U+0036
  42.252 +0xf7	U+0037
  42.253 +0xf8	U+0038
  42.254 +0xf9	U+0039
  42.255 +0xfa	U+00b3
  42.256 +0xfb	U+00db
  42.257 +0xfc	U+00dc
  42.258 +0xfd	U+00d9
  42.259 +0xfe	U+00da
  42.260 +0xff	U+009f
    43.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    43.2 +++ b/make/tools/CharsetMapping/IBM1145.c2b	Tue Jan 20 09:42:07 2009 -0800
    43.3 @@ -0,0 +1,1 @@
    43.4 +0x15	U+0085
    44.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    44.2 +++ b/make/tools/CharsetMapping/IBM1145.map	Tue Jan 20 09:42:07 2009 -0800
    44.3 @@ -0,0 +1,257 @@
    44.4 +#Generated from IBM284.java with 0x9f <-> u+20ac
    44.5 +0x00	U+0000
    44.6 +0x01	U+0001
    44.7 +0x02	U+0002
    44.8 +0x03	U+0003
    44.9 +0x04	U+009c
   44.10 +0x05	U+0009
   44.11 +0x06	U+0086
   44.12 +0x07	U+007f
   44.13 +0x08	U+0097
   44.14 +0x09	U+008d
   44.15 +0x0a	U+008e
   44.16 +0x0b	U+000b
   44.17 +0x0c	U+000c
   44.18 +0x0d	U+000d
   44.19 +0x0e	U+000e
   44.20 +0x0f	U+000f
   44.21 +0x10	U+0010
   44.22 +0x11	U+0011
   44.23 +0x12	U+0012
   44.24 +0x13	U+0013
   44.25 +0x14	U+009d
   44.26 +0x15	U+000a
   44.27 +0x16	U+0008
   44.28 +0x17	U+0087
   44.29 +0x18	U+0018
   44.30 +0x19	U+0019
   44.31 +0x1a	U+0092
   44.32 +0x1b	U+008f
   44.33 +0x1c	U+001c
   44.34 +0x1d	U+001d
   44.35 +0x1e	U+001e
   44.36 +0x1f	U+001f
   44.37 +0x20	U+0080
   44.38 +0x21	U+0081
   44.39 +0x22	U+0082
   44.40 +0x23	U+0083
   44.41 +0x24	U+0084
   44.42 +0x25	U+000a
   44.43 +0x26	U+0017
   44.44 +0x27	U+001b
   44.45 +0x28	U+0088
   44.46 +0x29	U+0089
   44.47 +0x2a	U+008a
   44.48 +0x2b	U+008b
   44.49 +0x2c	U+008c
   44.50 +0x2d	U+0005
   44.51 +0x2e	U+0006
   44.52 +0x2f	U+0007
   44.53 +0x30	U+0090
   44.54 +0x31	U+0091
   44.55 +0x32	U+0016
   44.56 +0x33	U+0093
   44.57 +0x34	U+0094
   44.58 +0x35	U+0095
   44.59 +0x36	U+0096
   44.60 +0x37	U+0004
   44.61 +0x38	U+0098
   44.62 +0x39	U+0099
   44.63 +0x3a	U+009a
   44.64 +0x3b	U+009b
   44.65 +0x3c	U+0014
   44.66 +0x3d	U+0015
   44.67 +0x3e	U+009e
   44.68 +0x3f	U+001a
   44.69 +0x40	U+0020
   44.70 +0x41	U+00a0
   44.71 +0x42	U+00e2
   44.72 +0x43	U+00e4
   44.73 +0x44	U+00e0
   44.74 +0x45	U+00e1
   44.75 +0x46	U+00e3
   44.76 +0x47	U+00e5
   44.77 +0x48	U+00e7
   44.78 +0x49	U+00a6
   44.79 +0x4a	U+005b
   44.80 +0x4b	U+002e
   44.81 +0x4c	U+003c
   44.82 +0x4d	U+0028
   44.83 +0x4e	U+002b
   44.84 +0x4f	U+007c
   44.85 +0x50	U+0026
   44.86 +0x51	U+00e9
   44.87 +0x52	U+00ea
   44.88 +0x53	U+00eb
   44.89 +0x54	U+00e8
   44.90 +0x55	U+00ed
   44.91 +0x56	U+00ee
   44.92 +0x57	U+00ef
   44.93 +0x58	U+00ec
   44.94 +0x59	U+00df
   44.95 +0x5a	U+005d
   44.96 +0x5b	U+0024
   44.97 +0x5c	U+002a
   44.98 +0x5d	U+0029
   44.99 +0x5e	U+003b
  44.100 +0x5f	U+00ac
  44.101 +0x60	U+002d
  44.102 +0x61	U+002f
  44.103 +0x62	U+00c2
  44.104 +0x63	U+00c4
  44.105 +0x64	U+00c0
  44.106 +0x65	U+00c1
  44.107 +0x66	U+00c3
  44.108 +0x67	U+00c5
  44.109 +0x68	U+00c7
  44.110 +0x69	U+0023
  44.111 +0x6a	U+00f1
  44.112 +0x6b	U+002c
  44.113 +0x6c	U+0025
  44.114 +0x6d	U+005f
  44.115 +0x6e	U+003e
  44.116 +0x6f	U+003f
  44.117 +0x70	U+00f8
  44.118 +0x71	U+00c9
  44.119 +0x72	U+00ca
  44.120 +0x73	U+00cb
  44.121 +0x74	U+00c8
  44.122 +0x75	U+00cd
  44.123 +0x76	U+00ce
  44.124 +0x77	U+00cf
  44.125 +0x78	U+00cc
  44.126 +0x79	U+0060
  44.127 +0x7a	U+003a
  44.128 +0x7b	U+00d1
  44.129 +0x7c	U+0040
  44.130 +0x7d	U+0027
  44.131 +0x7e	U+003d
  44.132 +0x7f	U+0022
  44.133 +0x80	U+00d8
  44.134 +0x81	U+0061
  44.135 +0x82	U+0062
  44.136 +0x83	U+0063
  44.137 +0x84	U+0064
  44.138 +0x85	U+0065
  44.139 +0x86	U+0066
  44.140 +0x87	U+0067
  44.141 +0x88	U+0068
  44.142 +0x89	U+0069
  44.143 +0x8a	U+00ab
  44.144 +0x8b	U+00bb
  44.145 +0x8c	U+00f0
  44.146 +0x8d	U+00fd
  44.147 +0x8e	U+00fe
  44.148 +0x8f	U+00b1
  44.149 +0x90	U+00b0
  44.150 +0x91	U+006a
  44.151 +0x92	U+006b
  44.152 +0x93	U+006c
  44.153 +0x94	U+006d
  44.154 +0x95	U+006e
  44.155 +0x96	U+006f
  44.156 +0x97	U+0070
  44.157 +0x98	U+0071
  44.158 +0x99	U+0072
  44.159 +0x9a	U+00aa
  44.160 +0x9b	U+00ba
  44.161 +0x9c	U+00e6
  44.162 +0x9d	U+00b8
  44.163 +0x9e	U+00c6
  44.164 +0x9f	U+20ac
  44.165 +0xa0	U+00b5
  44.166 +0xa1	U+00a8
  44.167 +0xa2	U+0073
  44.168 +0xa3	U+0074
  44.169 +0xa4	U+0075
  44.170 +0xa5	U+0076
  44.171 +0xa6	U+0077
  44.172 +0xa7	U+0078
  44.173 +0xa8	U+0079
  44.174 +0xa9	U+007a
  44.175 +0xaa	U+00a1
  44.176 +0xab	U+00bf
  44.177 +0xac	U+00d0
  44.178 +0xad	U+00dd
  44.179 +0xae	U+00de
  44.180 +0xaf	U+00ae
  44.181 +0xb0	U+00a2
  44.182 +0xb1	U+00a3
  44.183 +0xb2	U+00a5
  44.184 +0xb3	U+00b7
  44.185 +0xb4	U+00a9
  44.186 +0xb5	U+00a7
  44.187 +0xb6	U+00b6
  44.188 +0xb7	U+00bc
  44.189 +0xb8	U+00bd
  44.190 +0xb9	U+00be
  44.191 +0xba	U+005e
  44.192 +0xbb	U+0021
  44.193 +0xbc	U+00af
  44.194 +0xbd	U+007e
  44.195 +0xbe	U+00b4
  44.196 +0xbf	U+00d7
  44.197 +0xc0	U+007b
  44.198 +0xc1	U+0041
  44.199 +0xc2	U+0042
  44.200 +0xc3	U+0043
  44.201 +0xc4	U+0044
  44.202 +0xc5	U+0045
  44.203 +0xc6	U+0046
  44.204 +0xc7	U+0047
  44.205 +0xc8	U+0048
  44.206 +0xc9	U+0049
  44.207 +0xca	U+00ad
  44.208 +0xcb	U+00f4
  44.209 +0xcc	U+00f6
  44.210 +0xcd	U+00f2
  44.211 +0xce	U+00f3
  44.212 +0xcf	U+00f5
  44.213 +0xd0	U+007d
  44.214 +0xd1	U+004a
  44.215 +0xd2	U+004b
  44.216 +0xd3	U+004c
  44.217 +0xd4	U+004d
  44.218 +0xd5	U+004e
  44.219 +0xd6	U+004f
  44.220 +0xd7	U+0050
  44.221 +0xd8	U+0051
  44.222 +0xd9	U+0052
  44.223 +0xda	U+00b9
  44.224 +0xdb	U+00fb
  44.225 +0xdc	U+00fc
  44.226 +0xdd	U+00f9
  44.227 +0xde	U+00fa
  44.228 +0xdf	U+00ff
  44.229 +0xe0	U+005c
  44.230 +0xe1	U+00f7
  44.231 +0xe2	U+0053
  44.232 +0xe3	U+0054
  44.233 +0xe4	U+0055
  44.234 +0xe5	U+0056
  44.235 +0xe6	U+0057
  44.236 +0xe7	U+0058
  44.237 +0xe8	U+0059
  44.238 +0xe9	U+005a
  44.239 +0xea	U+00b2
  44.240 +0xeb	U+00d4
  44.241 +0xec	U+00d6
  44.242 +0xed	U+00d2
  44.243 +0xee	U+00d3
  44.244 +0xef	U+00d5
  44.245 +0xf0	U+0030
  44.246 +0xf1	U+0031
  44.247 +0xf2	U+0032
  44.248 +0xf3	U+0033
  44.249 +0xf4	U+0034
  44.250 +0xf5	U+0035
  44.251 +0xf6	U+0036
  44.252 +0xf7	U+0037
  44.253 +0xf8	U+0038
  44.254 +0xf9	U+0039
  44.255 +0xfa	U+00b3
  44.256 +0xfb	U+00db
  44.257 +0xfc	U+00dc
  44.258 +0xfd	U+00d9
  44.259 +0xfe	U+00da
  44.260 +0xff	U+009f
    45.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    45.2 +++ b/make/tools/CharsetMapping/IBM1146.c2b	Tue Jan 20 09:42:07 2009 -0800
    45.3 @@ -0,0 +1,1 @@
    45.4 +0x15	U+0085
    46.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    46.2 +++ b/make/tools/CharsetMapping/IBM1146.map	Tue Jan 20 09:42:07 2009 -0800
    46.3 @@ -0,0 +1,257 @@
    46.4 +#Generated from IBM285.java with 0x9f <-> u+20ac
    46.5 +0x00	U+0000
    46.6 +0x01	U+0001
    46.7 +0x02	U+0002
    46.8 +0x03	U+0003
    46.9 +0x04	U+009c
   46.10 +0x05	U+0009
   46.11 +0x06	U+0086
   46.12 +0x07	U+007f
   46.13 +0x08	U+0097
   46.14 +0x09	U+008d
   46.15 +0x0a	U+008e
   46.16 +0x0b	U+000b
   46.17 +0x0c	U+000c
   46.18 +0x0d	U+000d
   46.19 +0x0e	U+000e
   46.20 +0x0f	U+000f
   46.21 +0x10	U+0010
   46.22 +0x11	U+0011
   46.23 +0x12	U+0012
   46.24 +0x13	U+0013
   46.25 +0x14	U+009d
   46.26 +0x15	U+000a
   46.27 +0x16	U+0008
   46.28 +0x17	U+0087
   46.29 +0x18	U+0018
   46.30 +0x19	U+0019
   46.31 +0x1a	U+0092
   46.32 +0x1b	U+008f
   46.33 +0x1c	U+001c
   46.34 +0x1d	U+001d
   46.35 +0x1e	U+001e
   46.36 +0x1f	U+001f
   46.37 +0x20	U+0080
   46.38 +0x21	U+0081
   46.39 +0x22	U+0082
   46.40 +0x23	U+0083
   46.41 +0x24	U+0084
   46.42 +0x25	U+000a
   46.43 +0x26	U+0017
   46.44 +0x27	U+001b
   46.45 +0x28	U+0088
   46.46 +0x29	U+0089
   46.47 +0x2a	U+008a
   46.48 +0x2b	U+008b
   46.49 +0x2c	U+008c
   46.50 +0x2d	U+0005
   46.51 +0x2e	U+0006
   46.52 +0x2f	U+0007
   46.53 +0x30	U+0090
   46.54 +0x31	U+0091
   46.55 +0x32	U+0016
   46.56 +0x33	U+0093
   46.57 +0x34	U+0094
   46.58 +0x35	U+0095
   46.59 +0x36	U+0096
   46.60 +0x37	U+0004
   46.61 +0x38	U+0098
   46.62 +0x39	U+0099
   46.63 +0x3a	U+009a
   46.64 +0x3b	U+009b
   46.65 +0x3c	U+0014
   46.66 +0x3d	U+0015
   46.67 +0x3e	U+009e
   46.68 +0x3f	U+001a
   46.69 +0x40	U+0020
   46.70 +0x41	U+00a0
   46.71 +0x42	U+00e2
   46.72 +0x43	U+00e4
   46.73 +0x44	U+00e0
   46.74 +0x45	U+00e1
   46.75 +0x46	U+00e3
   46.76 +0x47	U+00e5
   46.77 +0x48	U+00e7
   46.78 +0x49	U+00f1
   46.79 +0x4a	U+0024
   46.80 +0x4b	U+002e
   46.81 +0x4c	U+003c
   46.82 +0x4d	U+0028
   46.83 +0x4e	U+002b
   46.84 +0x4f	U+007c
   46.85 +0x50	U+0026
   46.86 +0x51	U+00e9
   46.87 +0x52	U+00ea
   46.88 +0x53	U+00eb
   46.89 +0x54	U+00e8
   46.90 +0x55	U+00ed
   46.91 +0x56	U+00ee
   46.92 +0x57	U+00ef
   46.93 +0x58	U+00ec
   46.94 +0x59	U+00df
   46.95 +0x5a	U+0021
   46.96 +0x5b	U+00a3
   46.97 +0x5c	U+002a
   46.98 +0x5d	U+0029
   46.99 +0x5e	U+003b
  46.100 +0x5f	U+00ac
  46.101 +0x60	U+002d
  46.102 +0x61	U+002f
  46.103 +0x62	U+00c2
  46.104 +0x63	U+00c4
  46.105 +0x64	U+00c0
  46.106 +0x65	U+00c1
  46.107 +0x66	U+00c3
  46.108 +0x67	U+00c5
  46.109 +0x68	U+00c7
  46.110 +0x69	U+00d1
  46.111 +0x6a	U+00a6
  46.112 +0x6b	U+002c
  46.113 +0x6c	U+0025
  46.114 +0x6d	U+005f
  46.115 +0x6e	U+003e
  46.116 +0x6f	U+003f
  46.117 +0x70	U+00f8
  46.118 +0x71	U+00c9
  46.119 +0x72	U+00ca
  46.120 +0x73	U+00cb
  46.121 +0x74	U+00c8
  46.122 +0x75	U+00cd
  46.123 +0x76	U+00ce
  46.124 +0x77	U+00cf
  46.125 +0x78	U+00cc
  46.126 +0x79	U+0060
  46.127 +0x7a	U+003a
  46.128 +0x7b	U+0023
  46.129 +0x7c	U+0040
  46.130 +0x7d	U+0027
  46.131 +0x7e	U+003d
  46.132 +0x7f	U+0022
  46.133 +0x80	U+00d8
  46.134 +0x81	U+0061
  46.135 +0x82	U+0062
  46.136 +0x83	U+0063
  46.137 +0x84	U+0064
  46.138 +0x85	U+0065
  46.139 +0x86	U+0066
  46.140 +0x87	U+0067
  46.141 +0x88	U+0068
  46.142 +0x89	U+0069
  46.143 +0x8a	U+00ab
  46.144 +0x8b	U+00bb
  46.145 +0x8c	U+00f0
  46.146 +0x8d	U+00fd
  46.147 +0x8e	U+00fe
  46.148 +0x8f	U+00b1
  46.149 +0x90	U+00b0
  46.150 +0x91	U+006a
  46.151 +0x92	U+006b
  46.152 +0x93	U+006c
  46.153 +0x94	U+006d
  46.154 +0x95	U+006e
  46.155 +0x96	U+006f
  46.156 +0x97	U+0070
  46.157 +0x98	U+0071
  46.158 +0x99	U+0072
  46.159 +0x9a	U+00aa
  46.160 +0x9b	U+00ba
  46.161 +0x9c	U+00e6
  46.162 +0x9d	U+00b8
  46.163 +0x9e	U+00c6
  46.164 +0x9f	U+20ac
  46.165 +0xa0	U+00b5
  46.166 +0xa1	U+00af
  46.167 +0xa2	U+0073
  46.168 +0xa3	U+0074
  46.169 +0xa4	U+0075
  46.170 +0xa5	U+0076
  46.171 +0xa6	U+0077
  46.172 +0xa7	U+0078
  46.173 +0xa8	U+0079
  46.174 +0xa9	U+007a
  46.175 +0xaa	U+00a1
  46.176 +0xab	U+00bf
  46.177 +0xac	U+00d0
  46.178 +0xad	U+00dd
  46.179 +0xae	U+00de
  46.180 +0xaf	U+00ae
  46.181 +0xb0	U+00a2
  46.182 +0xb1	U+005b
  46.183 +0xb2	U+00a5
  46.184 +0xb3	U+00b7
  46.185 +0xb4	U+00a9
  46.186 +0xb5	U+00a7
  46.187 +0xb6	U+00b6
  46.188 +0xb7	U+00bc
  46.189 +0xb8	U+00bd
  46.190 +0xb9	U+00be
  46.191 +0xba	U+005e
  46.192 +0xbb	U+005d
  46.193 +0xbc	U+007e
  46.194 +0xbd	U+00a8
  46.195 +0xbe	U+00b4
  46.196 +0xbf	U+00d7
  46.197 +0xc0	U+007b
  46.198 +0xc1	U+0041
  46.199 +0xc2	U+0042
  46.200 +0xc3	U+0043
  46.201 +0xc4	U+0044
  46.202 +0xc5	U+0045
  46.203 +0xc6	U+0046
  46.204 +0xc7	U+0047
  46.205 +0xc8	U+0048
  46.206 +0xc9	U+0049
  46.207 +0xca	U+00ad
  46.208 +0xcb	U+00f4
  46.209 +0xcc	U+00f6
  46.210 +0xcd	U+00f2
  46.211 +0xce	U+00f3
  46.212 +0xcf	U+00f5
  46.213 +0xd0	U+007d
  46.214 +0xd1	U+004a
  46.215 +0xd2	U+004b
  46.216 +0xd3	U+004c
  46.217 +0xd4	U+004d
  46.218 +0xd5	U+004e
  46.219 +0xd6	U+004f
  46.220 +0xd7	U+0050
  46.221 +0xd8	U+0051
  46.222 +0xd9	U+0052
  46.223 +0xda	U+00b9
  46.224 +0xdb	U+00fb
  46.225 +0xdc	U+00fc
  46.226 +0xdd	U+00f9
  46.227 +0xde	U+00fa
  46.228 +0xdf	U+00ff
  46.229 +0xe0	U+005c
  46.230 +0xe1	U+00f7
  46.231 +0xe2	U+0053
  46.232 +0xe3	U+0054
  46.233 +0xe4	U+0055
  46.234 +0xe5	U+0056
  46.235 +0xe6	U+0057
  46.236 +0xe7	U+0058
  46.237 +0xe8	U+0059
  46.238 +0xe9	U+005a
  46.239 +0xea	U+00b2
  46.240 +0xeb	U+00d4
  46.241 +0xec	U+00d6
  46.242 +0xed	U+00d2
  46.243 +0xee	U+00d3
  46.244 +0xef	U+00d5
  46.245 +0xf0	U+0030
  46.246 +0xf1	U+0031
  46.247 +0xf2	U+0032
  46.248 +0xf3	U+0033
  46.249 +0xf4	U+0034
  46.250 +0xf5	U+0035
  46.251 +0xf6	U+0036
  46.252 +0xf7	U+0037
  46.253 +0xf8	U+0038
  46.254 +0xf9	U+0039
  46.255 +0xfa	U+00b3
  46.256 +0xfb	U+00db
  46.257 +0xfc	U+00dc
  46.258 +0xfd	U+00d9
  46.259 +0xfe	U+00da
  46.260 +0xff	U+009f
    47.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    47.2 +++ b/make/tools/CharsetMapping/IBM1147.c2b	Tue Jan 20 09:42:07 2009 -0800
    47.3 @@ -0,0 +1,1 @@
    47.4 +0x15	U+0085
    48.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    48.2 +++ b/make/tools/CharsetMapping/IBM1147.map	Tue Jan 20 09:42:07 2009 -0800
    48.3 @@ -0,0 +1,257 @@
    48.4 +#Generated from IBM297.java 0x9f <-> u+20ac
    48.5 +0x00	U+0000
    48.6 +0x01	U+0001
    48.7 +0x02	U+0002
    48.8 +0x03	U+0003
    48.9 +0x04	U+009c
   48.10 +0x05	U+0009
   48.11 +0x06	U+0086
   48.12 +0x07	U+007f
   48.13 +0x08	U+0097
   48.14 +0x09	U+008d
   48.15 +0x0a	U+008e
   48.16 +0x0b	U+000b
   48.17 +0x0c	U+000c
   48.18 +0x0d	U+000d
   48.19 +0x0e	U+000e
   48.20 +0x0f	U+000f
   48.21 +0x10	U+0010
   48.22 +0x11	U+0011
   48.23 +0x12	U+0012
   48.24 +0x13	U+0013
   48.25 +0x14	U+009d
   48.26 +0x15	U+000a
   48.27 +0x16	U+0008
   48.28 +0x17	U+0087
   48.29 +0x18	U+0018
   48.30 +0x19	U+0019
   48.31 +0x1a	U+0092
   48.32 +0x1b	U+008f
   48.33 +0x1c	U+001c
   48.34 +0x1d	U+001d
   48.35 +0x1e	U+001e
   48.36 +0x1f	U+001f
   48.37 +0x20	U+0080
   48.38 +0x21	U+0081
   48.39 +0x22	U+0082
   48.40 +0x23	U+0083
   48.41 +0x24	U+0084
   48.42 +0x25	U+000a
   48.43 +0x26	U+0017
   48.44 +0x27	U+001b
   48.45 +0x28	U+0088
   48.46 +0x29	U+0089
   48.47 +0x2a	U+008a
   48.48 +0x2b	U+008b
   48.49 +0x2c	U+008c
   48.50 +0x2d	U+0005
   48.51 +0x2e	U+0006
   48.52 +0x2f	U+0007
   48.53 +0x30	U+0090
   48.54 +0x31	U+0091
   48.55 +0x32	U+0016
   48.56 +0x33	U+0093
   48.57 +0x34	U+0094
   48.58 +0x35	U+0095
   48.59 +0x36	U+0096
   48.60 +0x37	U+0004
   48.61 +0x38	U+0098
   48.62 +0x39	U+0099
   48.63 +0x3a	U+009a
   48.64 +0x3b	U+009b
   48.65 +0x3c	U+0014
   48.66 +0x3d	U+0015
   48.67 +0x3e	U+009e
   48.68 +0x3f	U+001a
   48.69 +0x40	U+0020
   48.70 +0x41	U+00a0
   48.71 +0x42	U+00e2
   48.72 +0x43	U+00e4
   48.73 +0x44	U+0040
   48.74 +0x45	U+00e1
   48.75 +0x46	U+00e3
   48.76 +0x47	U+00e5
   48.77 +0x48	U+005c
   48.78 +0x49	U+00f1
   48.79 +0x4a	U+00b0
   48.80 +0x4b	U+002e
   48.81 +0x4c	U+003c
   48.82 +0x4d	U+0028
   48.83 +0x4e	U+002b
   48.84 +0x4f	U+0021
   48.85 +0x50	U+0026
   48.86 +0x51	U+007b
   48.87 +0x52	U+00ea
   48.88 +0x53	U+00eb
   48.89 +0x54	U+007d
   48.90 +0x55	U+00ed
   48.91 +0x56	U+00ee
   48.92 +0x57	U+00ef
   48.93 +0x58	U+00ec
   48.94 +0x59	U+00df
   48.95 +0x5a	U+00a7
   48.96 +0x5b	U+0024
   48.97 +0x5c	U+002a
   48.98 +0x5d	U+0029
   48.99 +0x5e	U+003b
  48.100 +0x5f	U+005e
  48.101 +0x60	U+002d
  48.102 +0x61	U+002f
  48.103 +0x62	U+00c2
  48.104 +0x63	U+00c4
  48.105 +0x64	U+00c0
  48.106 +0x65	U+00c1
  48.107 +0x66	U+00c3
  48.108 +0x67	U+00c5
  48.109 +0x68	U+00c7
  48.110 +0x69	U+00d1
  48.111 +0x6a	U+00f9
  48.112 +0x6b	U+002c
  48.113 +0x6c	U+0025
  48.114 +0x6d	U+005f
  48.115 +0x6e	U+003e
  48.116 +0x6f	U+003f
  48.117 +0x70	U+00f8
  48.118 +0x71	U+00c9
  48.119 +0x72	U+00ca
  48.120 +0x73	U+00cb
  48.121 +0x74	U+00c8
  48.122 +0x75	U+00cd
  48.123 +0x76	U+00ce
  48.124 +0x77	U+00cf
  48.125 +0x78	U+00cc
  48.126 +0x79	U+00b5
  48.127 +0x7a	U+003a
  48.128 +0x7b	U+00a3
  48.129 +0x7c	U+00e0
  48.130 +0x7d	U+0027
  48.131 +0x7e	U+003d
  48.132 +0x7f	U+0022
  48.133 +0x80	U+00d8
  48.134 +0x81	U+0061
  48.135 +0x82	U+0062
  48.136 +0x83	U+0063
  48.137 +0x84	U+0064
  48.138 +0x85	U+0065
  48.139 +0x86	U+0066
  48.140 +0x87	U+0067
  48.141 +0x88	U+0068
  48.142 +0x89	U+0069
  48.143 +0x8a	U+00ab
  48.144 +0x8b	U+00bb
  48.145 +0x8c	U+00f0
  48.146 +0x8d	U+00fd
  48.147 +0x8e	U+00fe
  48.148 +0x8f	U+00b1
  48.149 +0x90	U+005b
  48.150 +0x91	U+006a
  48.151 +0x92	U+006b
  48.152 +0x93	U+006c
  48.153 +0x94	U+006d
  48.154 +0x95	U+006e
  48.155 +0x96	U+006f
  48.156 +0x97	U+0070
  48.157 +0x98	U+0071
  48.158 +0x99	U+0072
  48.159 +0x9a	U+00aa
  48.160 +0x9b	U+00ba
  48.161 +0x9c	U+00e6
  48.162 +0x9d	U+00b8
  48.163 +0x9e	U+00c6
  48.164 +0x9f	U+20ac
  48.165 +0xa0	U+0060
  48.166 +0xa1	U+00a8
  48.167 +0xa2	U+0073
  48.168 +0xa3	U+0074
  48.169 +0xa4	U+0075
  48.170 +0xa5	U+0076
  48.171 +0xa6	U+0077
  48.172 +0xa7	U+0078
  48.173 +0xa8	U+0079
  48.174 +0xa9	U+007a
  48.175 +0xaa	U+00a1
  48.176 +0xab	U+00bf
  48.177 +0xac	U+00d0
  48.178 +0xad	U+00dd
  48.179 +0xae	U+00de
  48.180 +0xaf	U+00ae
  48.181 +0xb0	U+00a2
  48.182 +0xb1	U+0023
  48.183 +0xb2	U+00a5
  48.184 +0xb3	U+00b7
  48.185 +0xb4	U+00a9
  48.186 +0xb5	U+005d
  48.187 +0xb6	U+00b6
  48.188 +0xb7	U+00bc
  48.189 +0xb8	U+00bd
  48.190 +0xb9	U+00be
  48.191 +0xba	U+00ac
  48.192 +0xbb	U+007c
  48.193 +0xbc	U+00af
  48.194 +0xbd	U+007e
  48.195 +0xbe	U+00b4
  48.196 +0xbf	U+00d7
  48.197 +0xc0	U+00e9
  48.198 +0xc1	U+0041
  48.199 +0xc2	U+0042
  48.200 +0xc3	U+0043
  48.201 +0xc4	U+0044
  48.202 +0xc5	U+0045
  48.203 +0xc6	U+0046
  48.204 +0xc7	U+0047
  48.205 +0xc8	U+0048
  48.206 +0xc9	U+0049
  48.207 +0xca	U+00ad
  48.208 +0xcb	U+00f4
  48.209 +0xcc	U+00f6
  48.210 +0xcd	U+00f2
  48.211 +0xce	U+00f3
  48.212 +0xcf	U+00f5
  48.213 +0xd0	U+00e8
  48.214 +0xd1	U+004a
  48.215 +0xd2	U+004b
  48.216 +0xd3	U+004c
  48.217 +0xd4	U+004d
  48.218 +0xd5	U+004e
  48.219 +0xd6	U+004f
  48.220 +0xd7	U+0050
  48.221 +0xd8	U+0051
  48.222 +0xd9	U+0052
  48.223 +0xda	U+00b9
  48.224 +0xdb	U+00fb
  48.225 +0xdc	U+00fc
  48.226 +0xdd	U+00a6
  48.227 +0xde	U+00fa
  48.228 +0xdf	U+00ff
  48.229 +0xe0	U+00e7
  48.230 +0xe1	U+00f7
  48.231 +0xe2	U+0053
  48.232 +0xe3	U+0054
  48.233 +0xe4	U+0055
  48.234 +0xe5	U+0056
  48.235 +0xe6	U+0057
  48.236 +0xe7	U+0058
  48.237 +0xe8	U+0059
  48.238 +0xe9	U+005a
  48.239 +0xea	U+00b2
  48.240 +0xeb	U+00d4
  48.241 +0xec	U+00d6
  48.242 +0xed	U+00d2
  48.243 +0xee	U+00d3
  48.244 +0xef	U+00d5
  48.245 +0xf0	U+0030
  48.246 +0xf1	U+0031
  48.247 +0xf2	U+0032
  48.248 +0xf3	U+0033
  48.249 +0xf4	U+0034
  48.250 +0xf5	U+0035
  48.251 +0xf6	U+0036
  48.252 +0xf7	U+0037
  48.253 +0xf8	U+0038
  48.254 +0xf9	U+0039
  48.255 +0xfa	U+00b3
  48.256 +0xfb	U+00db
  48.257 +0xfc	U+00dc
  48.258 +0xfd	U+00d9
  48.259 +0xfe	U+00da
  48.260 +0xff	U+009f
    49.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    49.2 +++ b/make/tools/CharsetMapping/IBM1148.c2b	Tue Jan 20 09:42:07 2009 -0800
    49.3 @@ -0,0 +1,1 @@
    49.4 +0x15	U+0085
    50.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    50.2 +++ b/make/tools/CharsetMapping/IBM1148.map	Tue Jan 20 09:42:07 2009 -0800
    50.3 @@ -0,0 +1,257 @@
    50.4 +#Generated from IBM500.java 0x9f <-> u+20ac
    50.5 +0x00	U+0000
    50.6 +0x01	U+0001
    50.7 +0x02	U+0002
    50.8 +0x03	U+0003
    50.9 +0x04	U+009c
   50.10 +0x05	U+0009
   50.11 +0x06	U+0086
   50.12 +0x07	U+007f
   50.13 +0x08	U+0097
   50.14 +0x09	U+008d
   50.15 +0x0a	U+008e
   50.16 +0x0b	U+000b
   50.17 +0x0c	U+000c
   50.18 +0x0d	U+000d
   50.19 +0x0e	U+000e
   50.20 +0x0f	U+000f
   50.21 +0x10	U+0010
   50.22 +0x11	U+0011
   50.23 +0x12	U+0012
   50.24 +0x13	U+0013
   50.25 +0x14	U+009d
   50.26 +0x15	U+000a
   50.27 +0x16	U+0008
   50.28 +0x17	U+0087
   50.29 +0x18	U+0018
   50.30 +0x19	U+0019
   50.31 +0x1a	U+0092
   50.32 +0x1b	U+008f
   50.33 +0x1c	U+001c
   50.34 +0x1d	U+001d
   50.35 +0x1e	U+001e
   50.36 +0x1f	U+001f
   50.37 +0x20	U+0080
   50.38 +0x21	U+0081
   50.39 +0x22	U+0082
   50.40 +0x23	U+0083
   50.41 +0x24	U+0084
   50.42 +0x25	U+000a
   50.43 +0x26	U+0017
   50.44 +0x27	U+001b
   50.45 +0x28	U+0088
   50.46 +0x29	U+0089
   50.47 +0x2a	U+008a
   50.48 +0x2b	U+008b
   50.49 +0x2c	U+008c
   50.50 +0x2d	U+0005
   50.51 +0x2e	U+0006
   50.52 +0x2f	U+0007
   50.53 +0x30	U+0090
   50.54 +0x31	U+0091
   50.55 +0x32	U+0016
   50.56 +0x33	U+0093
   50.57 +0x34	U+0094
   50.58 +0x35	U+0095
   50.59 +0x36	U+0096
   50.60 +0x37	U+0004
   50.61 +0x38	U+0098
   50.62 +0x39	U+0099
   50.63 +0x3a	U+009a
   50.64 +0x3b	U+009b
   50.65 +0x3c	U+0014
   50.66 +0x3d	U+0015
   50.67 +0x3e	U+009e
   50.68 +0x3f	U+001a
   50.69 +0x40	U+0020
   50.70 +0x41	U+00a0
   50.71 +0x42	U+00e2
   50.72 +0x43	U+00e4
   50.73 +0x44	U+00e0
   50.74 +0x45	U+00e1
   50.75 +0x46	U+00e3
   50.76 +0x47	U+00e5
   50.77 +0x48	U+00e7
   50.78 +0x49	U+00f1
   50.79 +0x4a	U+005b
   50.80 +0x4b	U+002e
   50.81 +0x4c	U+003c
   50.82 +0x4d	U+0028
   50.83 +0x4e	U+002b
   50.84 +0x4f	U+0021
   50.85 +0x50	U+0026
   50.86 +0x51	U+00e9
   50.87 +0x52	U+00ea
   50.88 +0x53	U+00eb
   50.89 +0x54	U+00e8
   50.90 +0x55	U+00ed
   50.91 +0x56	U+00ee
   50.92 +0x57	U+00ef
   50.93 +0x58	U+00ec
   50.94 +0x59	U+00df
   50.95 +0x5a	U+005d
   50.96 +0x5b	U+0024
   50.97 +0x5c	U+002a
   50.98 +0x5d	U+0029
   50.99 +0x5e	U+003b
  50.100 +0x5f	U+005e
  50.101 +0x60	U+002d
  50.102 +0x61	U+002f
  50.103 +0x62	U+00c2
  50.104 +0x63	U+00c4
  50.105 +0x64	U+00c0
  50.106 +0x65	U+00c1
  50.107 +0x66	U+00c3
  50.108 +0x67	U+00c5
  50.109 +0x68	U+00c7
  50.110 +0x69	U+00d1
  50.111 +0x6a	U+00a6
  50.112 +0x6b	U+002c
  50.113 +0x6c	U+0025
  50.114 +0x6d	U+005f
  50.115 +0x6e	U+003e
  50.116 +0x6f	U+003f
  50.117 +0x70	U+00f8
  50.118 +0x71	U+00c9
  50.119 +0x72	U+00ca
  50.120 +0x73	U+00cb
  50.121 +0x74	U+00c8
  50.122 +0x75	U+00cd
  50.123 +0x76	U+00ce
  50.124 +0x77	U+00cf
  50.125 +0x78	U+00cc
  50.126 +0x79	U+0060
  50.127 +0x7a	U+003a
  50.128 +0x7b	U+0023
  50.129 +0x7c	U+0040
  50.130 +0x7d	U+0027
  50.131 +0x7e	U+003d
  50.132 +0x7f	U+0022
  50.133 +0x80	U+00d8
  50.134 +0x81	U+0061
  50.135 +0x82	U+0062
  50.136 +0x83	U+0063
  50.137 +0x84	U+0064
  50.138 +0x85	U+0065
  50.139 +0x86	U+0066
  50.140 +0x87	U+0067
  50.141 +0x88	U+0068
  50.142 +0x89	U+0069
  50.143 +0x8a	U+00ab
  50.144 +0x8b	U+00bb
  50.145 +0x8c	U+00f0
  50.146 +0x8d	U+00fd
  50.147 +0x8e	U+00fe
  50.148 +0x8f	U+00b1
  50.149 +0x90	U+00b0
  50.150 +0x91	U+006a
  50.151 +0x92	U+006b
  50.152 +0x93	U+006c
  50.153 +0x94	U+006d
  50.154 +0x95	U+006e
  50.155 +0x96	U+006f
  50.156 +0x97	U+0070
  50.157 +0x98	U+0071
  50.158 +0x99	U+0072
  50.159 +0x9a	U+00aa
  50.160 +0x9b	U+00ba
  50.161 +0x9c	U+00e6
  50.162 +0x9d	U+00b8
  50.163 +0x9e	U+00c6
  50.164 +0x9f	U+20ac
  50.165 +0xa0	U+00b5
  50.166 +0xa1	U+007e
  50.167 +0xa2	U+0073
  50.168 +0xa3	U+0074
  50.169 +0xa4	U+0075
  50.170 +0xa5	U+0076
  50.171 +0xa6	U+0077
  50.172 +0xa7	U+0078
  50.173 +0xa8	U+0079
  50.174 +0xa9	U+007a
  50.175 +0xaa	U+00a1
  50.176 +0xab	U+00bf
  50.177 +0xac	U+00d0
  50.178 +0xad	U+00dd
  50.179 +0xae	U+00de
  50.180 +0xaf	U+00ae
  50.181 +0xb0	U+00a2
  50.182 +0xb1	U+00a3
  50.183 +0xb2	U+00a5
  50.184 +0xb3	U+00b7
  50.185 +0xb4	U+00a9
  50.186 +0xb5	U+00a7
  50.187 +0xb6	U+00b6
  50.188 +0xb7	U+00bc
  50.189 +0xb8	U+00bd
  50.190 +0xb9	U+00be
  50.191 +0xba	U+00ac
  50.192 +0xbb	U+007c
  50.193 +0xbc	U+00af
  50.194 +0xbd	U+00a8
  50.195 +0xbe	U+00b4
  50.196 +0xbf	U+00d7
  50.197 +0xc0	U+007b
  50.198 +0xc1	U+0041
  50.199 +0xc2	U+0042
  50.200 +0xc3	U+0043
  50.201 +0xc4	U+0044
  50.202 +0xc5	U+0045
  50.203 +0xc6	U+0046
  50.204 +0xc7	U+0047
  50.205 +0xc8	U+0048
  50.206 +0xc9	U+0049
  50.207 +0xca	U+00ad
  50.208 +0xcb	U+00f4
  50.209 +0xcc	U+00f6
  50.210 +0xcd	U+00f2
  50.211 +0xce	U+00f3
  50.212 +0xcf	U+00f5
  50.213 +0xd0	U+007d
  50.214 +0xd1	U+004a
  50.215 +0xd2	U+004b
  50.216 +0xd3	U+004c
  50.217 +0xd4	U+004d
  50.218 +0xd5	U+004e
  50.219 +0xd6	U+004f
  50.220 +0xd7	U+0050
  50.221 +0xd8	U+0051
  50.222 +0xd9	U+0052
  50.223 +0xda	U+00b9
  50.224 +0xdb	U+00fb
  50.225 +0xdc	U+00fc
  50.226 +0xdd	U+00f9
  50.227 +0xde	U+00fa
  50.228 +0xdf	U+00ff
  50.229 +0xe0	U+005c
  50.230 +0xe1	U+00f7
  50.231 +0xe2	U+0053
  50.232 +0xe3	U+0054
  50.233 +0xe4	U+0055
  50.234 +0xe5	U+0056
  50.235 +0xe6	U+0057
  50.236 +0xe7	U+0058
  50.237 +0xe8	U+0059
  50.238 +0xe9	U+005a
  50.239 +0xea	U+00b2
  50.240 +0xeb	U+00d4
  50.241 +0xec	U+00d6
  50.242 +0xed	U+00d2
  50.243 +0xee	U+00d3
  50.244 +0xef	U+00d5
  50.245 +0xf0	U+0030
  50.246 +0xf1	U+0031
  50.247 +0xf2	U+0032
  50.248 +0xf3	U+0033
  50.249 +0xf4	U+0034
  50.250 +0xf5	U+0035
  50.251 +0xf6	U+0036
  50.252 +0xf7	U+0037
  50.253 +0xf8	U+0038
  50.254 +0xf9	U+0039
  50.255 +0xfa	U+00b3
  50.256 +0xfb	U+00db
  50.257 +0xfc	U+00dc
  50.258 +0xfd	U+00d9
  50.259 +0xfe	U+00da
  50.260 +0xff	U+009f
    51.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    51.2 +++ b/make/tools/CharsetMapping/IBM1149.c2b	Tue Jan 20 09:42:07 2009 -0800
    51.3 @@ -0,0 +1,1 @@
    51.4 +0x15	U+0085
    52.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    52.2 +++ b/make/tools/CharsetMapping/IBM1149.map	Tue Jan 20 09:42:07 2009 -0800
    52.3 @@ -0,0 +1,257 @@
    52.4 +#Generated from IBM871.java 0x9f <-> u+20ac
    52.5 +0x00	U+0000
    52.6 +0x01	U+0001
    52.7 +0x02	U+0002
    52.8 +0x03	U+0003
    52.9 +0x04	U+009c
   52.10 +0x05	U+0009
   52.11 +0x06	U+0086
   52.12 +0x07	U+007f
   52.13 +0x08	U+0097
   52.14 +0x09	U+008d
   52.15 +0x0a	U+008e
   52.16 +0x0b	U+000b
   52.17 +0x0c	U+000c
   52.18 +0x0d	U+000d
   52.19 +0x0e	U+000e
   52.20 +0x0f	U+000f
   52.21 +0x10	U+0010
   52.22 +0x11	U+0011
   52.23 +0x12	U+0012
   52.24 +0x13	U+0013
   52.25 +0x14	U+009d
   52.26 +0x15	U+000a
   52.27 +0x16	U+0008
   52.28 +0x17	U+0087
   52.29 +0x18	U+0018
   52.30 +0x19	U+0019
   52.31 +0x1a	U+0092
   52.32 +0x1b	U+008f
   52.33 +0x1c	U+001c
   52.34 +0x1d	U+001d
   52.35 +0x1e	U+001e
   52.36 +0x1f	U+001f
   52.37 +0x20	U+0080
   52.38 +0x21	U+0081
   52.39 +0x22	U+0082
   52.40 +0x23	U+0083
   52.41 +0x24	U+0084
   52.42 +0x25	U+000a
   52.43 +0x26	U+0017
   52.44 +0x27	U+001b
   52.45 +0x28	U+0088
   52.46 +0x29	U+0089
   52.47 +0x2a	U+008a
   52.48 +0x2b	U+008b
   52.49 +0x2c	U+008c
   52.50 +0x2d	U+0005
   52.51 +0x2e	U+0006
   52.52 +0x2f	U+0007
   52.53 +0x30	U+0090
   52.54 +0x31	U+0091
   52.55 +0x32	U+0016
   52.56 +0x33	U+0093
   52.57 +0x34	U+0094
   52.58 +0x35	U+0095
   52.59 +0x36	U+0096
   52.60 +0x37	U+0004
   52.61 +0x38	U+0098
   52.62 +0x39	U+0099
   52.63 +0x3a	U+009a
   52.64 +0x3b	U+009b
   52.65 +0x3c	U+0014
   52.66 +0x3d	U+0015
   52.67 +0x3e	U+009e
   52.68 +0x3f	U+001a
   52.69 +0x40	U+0020
   52.70 +0x41	U+00a0
   52.71 +0x42	U+00e2
   52.72 +0x43	U+00e4
   52.73 +0x44	U+00e0
   52.74 +0x45	U+00e1
   52.75 +0x46	U+00e3
   52.76 +0x47	U+00e5
   52.77 +0x48	U+00e7
   52.78 +0x49	U+00f1
   52.79 +0x4a	U+00de
   52.80 +0x4b	U+002e
   52.81 +0x4c	U+003c
   52.82 +0x4d	U+0028
   52.83 +0x4e	U+002b
   52.84 +0x4f	U+0021
   52.85 +0x50	U+0026
   52.86 +0x51	U+00e9
   52.87 +0x52	U+00ea
   52.88 +0x53	U+00eb
   52.89 +0x54	U+00e8
   52.90 +0x55	U+00ed
   52.91 +0x56	U+00ee
   52.92 +0x57	U+00ef
   52.93 +0x58	U+00ec
   52.94 +0x59	U+00df
   52.95 +0x5a	U+00c6
   52.96 +0x5b	U+0024
   52.97 +0x5c	U+002a
   52.98 +0x5d	U+0029
   52.99 +0x5e	U+003b
  52.100 +0x5f	U+00d6
  52.101 +0x60	U+002d
  52.102 +0x61	U+002f
  52.103 +0x62	U+00c2
  52.104 +0x63	U+00c4
  52.105 +0x64	U+00c0
  52.106 +0x65	U+00c1
  52.107 +0x66	U+00c3
  52.108 +0x67	U+00c5
  52.109 +0x68	U+00c7
  52.110 +0x69	U+00d1
  52.111 +0x6a	U+00a6
  52.112 +0x6b	U+002c
  52.113 +0x6c	U+0025
  52.114 +0x6d	U+005f
  52.115 +0x6e	U+003e
  52.116 +0x6f	U+003f
  52.117 +0x70	U+00f8
  52.118 +0x71	U+00c9
  52.119 +0x72	U+00ca
  52.120 +0x73	U+00cb
  52.121 +0x74	U+00c8
  52.122 +0x75	U+00cd
  52.123 +0x76	U+00ce
  52.124 +0x77	U+00cf
  52.125 +0x78	U+00cc
  52.126 +0x79	U+00f0
  52.127 +0x7a	U+003a
  52.128 +0x7b	U+0023
  52.129 +0x7c	U+00d0
  52.130 +0x7d	U+0027
  52.131 +0x7e	U+003d
  52.132 +0x7f	U+0022
  52.133 +0x80	U+00d8
  52.134 +0x81	U+0061
  52.135 +0x82	U+0062
  52.136 +0x83	U+0063
  52.137 +0x84	U+0064
  52.138 +0x85	U+0065
  52.139 +0x86	U+0066
  52.140 +0x87	U+0067
  52.141 +0x88	U+0068
  52.142 +0x89	U+0069
  52.143 +0x8a	U+00ab
  52.144 +0x8b	U+00bb
  52.145 +0x8c	U+0060
  52.146 +0x8d	U+00fd
  52.147 +0x8e	U+007b
  52.148 +0x8f	U+00b1
  52.149 +0x90	U+00b0
  52.150 +0x91	U+006a
  52.151 +0x92	U+006b
  52.152 +0x93	U+006c
  52.153 +0x94	U+006d
  52.154 +0x95	U+006e
  52.155 +0x96	U+006f
  52.156 +0x97	U+0070
  52.157 +0x98	U+0071
  52.158 +0x99	U+0072
  52.159 +0x9a	U+00aa
  52.160 +0x9b	U+00ba
  52.161 +0x9c	U+007d
  52.162 +0x9d	U+00b8
  52.163 +0x9e	U+005d
  52.164 +0x9f	U+20ac
  52.165 +0xa0	U+00b5
  52.166 +0xa1	U+00f6
  52.167 +0xa2	U+0073
  52.168 +0xa3	U+0074
  52.169 +0xa4	U+0075
  52.170 +0xa5	U+0076
  52.171 +0xa6	U+0077
  52.172 +0xa7	U+0078
  52.173 +0xa8	U+0079
  52.174 +0xa9	U+007a
  52.175 +0xaa	U+00a1
  52.176 +0xab	U+00bf
  52.177 +0xac	U+0040
  52.178 +0xad	U+00dd
  52.179 +0xae	U+005b
  52.180 +0xaf	U+00ae
  52.181 +0xb0	U+00a2
  52.182 +0xb1	U+00a3
  52.183 +0xb2	U+00a5
  52.184 +0xb3	U+00b7
  52.185 +0xb4	U+00a9
  52.186 +0xb5	U+00a7
  52.187 +0xb6	U+00b6
  52.188 +0xb7	U+00bc
  52.189 +0xb8	U+00bd
  52.190 +0xb9	U+00be
  52.191 +0xba	U+00ac
  52.192 +0xbb	U+007c
  52.193 +0xbc	U+00af
  52.194 +0xbd	U+00a8
  52.195 +0xbe	U+005c
  52.196 +0xbf	U+00d7
  52.197 +0xc0	U+00fe
  52.198 +0xc1	U+0041
  52.199 +0xc2	U+0042
  52.200 +0xc3	U+0043
  52.201 +0xc4	U+0044
  52.202 +0xc5	U+0045
  52.203 +0xc6	U+0046
  52.204 +0xc7	U+0047
  52.205 +0xc8	U+0048
  52.206 +0xc9	U+0049
  52.207 +0xca	U+00ad
  52.208 +0xcb	U+00f4
  52.209 +0xcc	U+007e
  52.210 +0xcd	U+00f2
  52.211 +0xce	U+00f3
  52.212 +0xcf	U+00f5
  52.213 +0xd0	U+00e6
  52.214 +0xd1	U+004a
  52.215 +0xd2	U+004b
  52.216 +0xd3	U+004c
  52.217 +0xd4	U+004d
  52.218 +0xd5	U+004e
  52.219 +0xd6	U+004f
  52.220 +0xd7	U+0050
  52.221 +0xd8	U+0051
  52.222 +0xd9	U+0052
  52.223 +0xda	U+00b9
  52.224 +0xdb	U+00fb
  52.225 +0xdc	U+00fc
  52.226 +0xdd	U+00f9
  52.227 +0xde	U+00fa
  52.228 +0xdf	U+00ff
  52.229 +0xe0	U+00b4
  52.230 +0xe1	U+00f7
  52.231 +0xe2	U+0053
  52.232 +0xe3	U+0054
  52.233 +0xe4	U+0055
  52.234 +0xe5	U+0056
  52.235 +0xe6	U+0057
  52.236 +0xe7	U+0058
  52.237 +0xe8	U+0059
  52.238 +0xe9	U+005a
  52.239 +0xea	U+00b2
  52.240 +0xeb	U+00d4
  52.241 +0xec	U+005e
  52.242 +0xed	U+00d2
  52.243 +0xee	U+00d3
  52.244 +0xef	U+00d5
  52.245 +0xf0	U+0030
  52.246 +0xf1	U+0031
  52.247 +0xf2	U+0032
  52.248 +0xf3	U+0033
  52.249 +0xf4	U+0034
  52.250 +0xf5	U+0035
  52.251 +0xf6	U+0036
  52.252 +0xf7	U+0037
  52.253 +0xf8	U+0038
  52.254 +0xf9	U+0039
  52.255 +0xfa	U+00b3
  52.256 +0xfb	U+00db
  52.257 +0xfc	U+00dc
  52.258 +0xfd	U+00d9
  52.259 +0xfe	U+00da
  52.260 +0xff	U+009f
    53.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    53.2 +++ b/make/tools/CharsetMapping/IBM273.c2b	Tue Jan 20 09:42:07 2009 -0800
    53.3 @@ -0,0 +1,1 @@
    53.4 +0x15	U+0085
    54.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    54.2 +++ b/make/tools/CharsetMapping/IBM273.map	Tue Jan 20 09:42:07 2009 -0800
    54.3 @@ -0,0 +1,257 @@
    54.4 +#Generated from IBM273.java
    54.5 +0x00	U+0000
    54.6 +0x01	U+0001
    54.7 +0x02	U+0002
    54.8 +0x03	U+0003
    54.9 +0x04	U+009c
   54.10 +0x05	U+0009
   54.11 +0x06	U+0086
   54.12 +0x07	U+007f
   54.13 +0x08	U+0097
   54.14 +0x09	U+008d
   54.15 +0x0a	U+008e
   54.16 +0x0b	U+000b
   54.17 +0x0c	U+000c
   54.18 +0x0d	U+000d
   54.19 +0x0e	U+000e
   54.20 +0x0f	U+000f
   54.21 +0x10	U+0010
   54.22 +0x11	U+0011
   54.23 +0x12	U+0012
   54.24 +0x13	U+0013
   54.25 +0x14	U+009d
   54.26 +0x15	U+000a
   54.27 +0x16	U+0008
   54.28 +0x17	U+0087
   54.29 +0x18	U+0018
   54.30 +0x19	U+0019
   54.31 +0x1a	U+0092
   54.32 +0x1b	U+008f
   54.33 +0x1c	U+001c
   54.34 +0x1d	U+001d
   54.35 +0x1e	U+001e
   54.36 +0x1f	U+001f
   54.37 +0x20	U+0080
   54.38 +0x21	U+0081
   54.39 +0x22	U+0082
   54.40 +0x23	U+0083
   54.41 +0x24	U+0084
   54.42 +0x25	U+000a
   54.43 +0x26	U+0017
   54.44 +0x27	U+001b
   54.45 +0x28	U+0088
   54.46 +0x29	U+0089
   54.47 +0x2a	U+008a
   54.48 +0x2b	U+008b
   54.49 +0x2c	U+008c
   54.50 +0x2d	U+0005
   54.51 +0x2e	U+0006
   54.52 +0x2f	U+0007
   54.53 +0x30	U+0090
   54.54 +0x31	U+0091
   54.55 +0x32	U+0016
   54.56 +0x33	U+0093
   54.57 +0x34	U+0094
   54.58 +0x35	U+0095
   54.59 +0x36	U+0096
   54.60 +0x37	U+0004
   54.61 +0x38	U+0098
   54.62 +0x39	U+0099
   54.63 +0x3a	U+009a
   54.64 +0x3b	U+009b
   54.65 +0x3c	U+0014
   54.66 +0x3d	U+0015
   54.67 +0x3e	U+009e
   54.68 +0x3f	U+001a
   54.69 +0x40	U+0020
   54.70 +0x41	U+00a0
   54.71 +0x42	U+00e2
   54.72 +0x43	U+007b
   54.73 +0x44	U+00e0
   54.74 +0x45	U+00e1
   54.75 +0x46	U+00e3
   54.76 +0x47	U+00e5
   54.77 +0x48	U+00e7
   54.78 +0x49	U+00f1
   54.79 +0x4a	U+00c4
   54.80 +0x4b	U+002e
   54.81 +0x4c	U+003c
   54.82 +0x4d	U+0028
   54.83 +0x4e	U+002b
   54.84 +0x4f	U+0021
   54.85 +0x50	U+0026
   54.86 +0x51	U+00e9
   54.87 +0x52	U+00ea
   54.88 +0x53	U+00eb
   54.89 +0x54	U+00e8
   54.90 +0x55	U+00ed
   54.91 +0x56	U+00ee
   54.92 +0x57	U+00ef
   54.93 +0x58	U+00ec
   54.94 +0x59	U+007e
   54.95 +0x5a	U+00dc
   54.96 +0x5b	U+0024
   54.97 +0x5c	U+002a
   54.98 +0x5d	U+0029
   54.99 +0x5e	U+003b
  54.100 +0x5f	U+005e
  54.101 +0x60	U+002d
  54.102 +0x61	U+002f
  54.103 +0x62	U+00c2
  54.104 +0x63	U+005b
  54.105 +0x64	U+00c0
  54.106 +0x65	U+00c1
  54.107 +0x66	U+00c3
  54.108 +0x67	U+00c5
  54.109 +0x68	U+00c7
  54.110 +0x69	U+00d1
  54.111 +0x6a	U+00f6
  54.112 +0x6b	U+002c
  54.113 +0x6c	U+0025
  54.114 +0x6d	U+005f
  54.115 +0x6e	U+003e
  54.116 +0x6f	U+003f
  54.117 +0x70	U+00f8
  54.118 +0x71	U+00c9
  54.119 +0x72	U+00ca
  54.120 +0x73	U+00cb
  54.121 +0x74	U+00c8
  54.122 +0x75	U+00cd
  54.123 +0x76	U+00ce
  54.124 +0x77	U+00cf
  54.125 +0x78	U+00cc
  54.126 +0x79	U+0060
  54.127 +0x7a	U+003a
  54.128 +0x7b	U+0023
  54.129 +0x7c	U+00a7
  54.130 +0x7d	U+0027
  54.131 +0x7e	U+003d
  54.132 +0x7f	U+0022
  54.133 +0x80	U+00d8
  54.134 +0x81	U+0061
  54.135 +0x82	U+0062
  54.136 +0x83	U+0063
  54.137 +0x84	U+0064
  54.138 +0x85	U+0065
  54.139 +0x86	U+0066
  54.140 +0x87	U+0067
  54.141 +0x88	U+0068
  54.142 +0x89	U+0069
  54.143 +0x8a	U+00ab
  54.144 +0x8b	U+00bb
  54.145 +0x8c	U+00f0
  54.146 +0x8d	U+00fd
  54.147 +0x8e	U+00fe
  54.148 +0x8f	U+00b1
  54.149 +0x90	U+00b0
  54.150 +0x91	U+006a
  54.151 +0x92	U+006b
  54.152 +0x93	U+006c
  54.153 +0x94	U+006d
  54.154 +0x95	U+006e
  54.155 +0x96	U+006f
  54.156 +0x97	U+0070
  54.157 +0x98	U+0071
  54.158 +0x99	U+0072
  54.159 +0x9a	U+00aa
  54.160 +0x9b	U+00ba
  54.161 +0x9c	U+00e6
  54.162 +0x9d	U+00b8
  54.163 +0x9e	U+00c6
  54.164 +0x9f	U+00a4
  54.165 +0xa0	U+00b5
  54.166 +0xa1	U+00df
  54.167 +0xa2	U+0073
  54.168 +0xa3	U+0074
  54.169 +0xa4	U+0075
  54.170 +0xa5	U+0076
  54.171 +0xa6	U+0077
  54.172 +0xa7	U+0078
  54.173 +0xa8	U+0079
  54.174 +0xa9	U+007a
  54.175 +0xaa	U+00a1
  54.176 +0xab	U+00bf
  54.177 +0xac	U+00d0
  54.178 +0xad	U+00dd
  54.179 +0xae	U+00de
  54.180 +0xaf	U+00ae
  54.181 +0xb0	U+00a2
  54.182 +0xb1	U+00a3
  54.183 +0xb2	U+00a5
  54.184 +0xb3	U+00b7
  54.185 +0xb4	U+00a9
  54.186 +0xb5	U+0040
  54.187 +0xb6	U+00b6
  54.188 +0xb7	U+00bc
  54.189 +0xb8	U+00bd
  54.190 +0xb9	U+00be
  54.191 +0xba	U+00ac
  54.192 +0xbb	U+007c
  54.193 +0xbc	U+00af
  54.194 +0xbd	U+00a8
  54.195 +0xbe	U+00b4
  54.196 +0xbf	U+00d7
  54.197 +0xc0	U+00e4
  54.198 +0xc1	U+0041
  54.199 +0xc2	U+0042
  54.200 +0xc3	U+0043
  54.201 +0xc4	U+0044
  54.202 +0xc5	U+0045
  54.203 +0xc6	U+0046
  54.204 +0xc7	U+0047
  54.205 +0xc8	U+0048
  54.206 +0xc9	U+0049
  54.207 +0xca	U+00ad
  54.208 +0xcb	U+00f4
  54.209 +0xcc	U+00a6
  54.210 +0xcd	U+00f2
  54.211 +0xce	U+00f3
  54.212 +0xcf	U+00f5
  54.213 +0xd0	U+00fc
  54.214 +0xd1	U+004a
  54.215 +0xd2	U+004b
  54.216 +0xd3	U+004c
  54.217 +0xd4	U+004d
  54.218 +0xd5	U+004e
  54.219 +0xd6	U+004f
  54.220 +0xd7	U+0050
  54.221 +0xd8	U+0051
  54.222 +0xd9	U+0052
  54.223 +0xda	U+00b9
  54.224 +0xdb	U+00fb
  54.225 +0xdc	U+007d
  54.226 +0xdd	U+00f9
  54.227 +0xde	U+00fa
  54.228 +0xdf	U+00ff
  54.229 +0xe0	U+00d6
  54.230 +0xe1	U+00f7
  54.231 +0xe2	U+0053
  54.232 +0xe3	U+0054
  54.233 +0xe4	U+0055
  54.234 +0xe5	U+0056
  54.235 +0xe6	U+0057
  54.236 +0xe7	U+0058
  54.237 +0xe8	U+0059
  54.238 +0xe9	U+005a
  54.239 +0xea	U+00b2
  54.240 +0xeb	U+00d4
  54.241 +0xec	U+005c
  54.242 +0xed	U+00d2
  54.243 +0xee	U+00d3
  54.244 +0xef	U+00d5
  54.245 +0xf0	U+0030
  54.246 +0xf1	U+0031
  54.247 +0xf2	U+0032
  54.248 +0xf3	U+0033
  54.249 +0xf4	U+0034
  54.250 +0xf5	U+0035
  54.251 +0xf6	U+0036
  54.252 +0xf7	U+0037
  54.253 +0xf8	U+0038
  54.254 +0xf9	U+0039
  54.255 +0xfa	U+00b3
  54.256 +0xfb	U+00db
  54.257 +0xfc	U+005d
  54.258 +0xfd	U+00d9
  54.259 +0xfe	U+00da
  54.260 +0xff	U+009f
    55.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    55.2 +++ b/make/tools/CharsetMapping/IBM273.nr	Tue Jan 20 09:42:07 2009 -0800
    55.3 @@ -0,0 +1,1 @@
    55.4 +0x25	U+000a
    56.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    56.2 +++ b/make/tools/CharsetMapping/IBM277.c2b	Tue Jan 20 09:42:07 2009 -0800
    56.3 @@ -0,0 +1,1 @@
    56.4 +0x15	U+0085
    57.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    57.2 +++ b/make/tools/CharsetMapping/IBM277.map	Tue Jan 20 09:42:07 2009 -0800
    57.3 @@ -0,0 +1,257 @@
    57.4 +#Generated from IBM277.java
    57.5 +0x00	U+0000
    57.6 +0x01	U+0001
    57.7 +0x02	U+0002
    57.8 +0x03	U+0003
    57.9 +0x04	U+009c
   57.10 +0x05	U+0009
   57.11 +0x06	U+0086
   57.12 +0x07	U+007f
   57.13 +0x08	U+0097
   57.14 +0x09	U+008d
   57.15 +0x0a	U+008e
   57.16 +0x0b	U+000b
   57.17 +0x0c	U+000c
   57.18 +0x0d	U+000d
   57.19 +0x0e	U+000e
   57.20 +0x0f	U+000f
   57.21 +0x10	U+0010
   57.22 +0x11	U+0011
   57.23 +0x12	U+0012
   57.24 +0x13	U+0013
   57.25 +0x14	U+009d
   57.26 +0x15	U+000a
   57.27 +0x16	U+0008
   57.28 +0x17	U+0087
   57.29 +0x18	U+0018
   57.30 +0x19	U+0019
   57.31 +0x1a	U+0092
   57.32 +0x1b	U+008f
   57.33 +0x1c	U+001c
   57.34 +0x1d	U+001d
   57.35 +0x1e	U+001e
   57.36 +0x1f	U+001f
   57.37 +0x20	U+0080
   57.38 +0x21	U+0081
   57.39 +0x22	U+0082
   57.40 +0x23	U+0083
   57.41 +0x24	U+0084
   57.42 +0x25	U+000a
   57.43 +0x26	U+0017
   57.44 +0x27	U+001b
   57.45 +0x28	U+0088
   57.46 +0x29	U+0089
   57.47 +0x2a	U+008a
   57.48 +0x2b	U+008b
   57.49 +0x2c	U+008c
   57.50 +0x2d	U+0005
   57.51 +0x2e	U+0006
   57.52 +0x2f	U+0007
   57.53 +0x30	U+0090
   57.54 +0x31	U+0091
   57.55 +0x32	U+0016
   57.56 +0x33	U+0093
   57.57 +0x34	U+0094
   57.58 +0x35	U+0095
   57.59 +0x36	U+0096
   57.60 +0x37	U+0004
   57.61 +0x38	U+0098
   57.62 +0x39	U+0099
   57.63 +0x3a	U+009a
   57.64 +0x3b	U+009b
   57.65 +0x3c	U+0014
   57.66 +0x3d	U+0015
   57.67 +0x3e	U+009e
   57.68 +0x3f	U+001a
   57.69 +0x40	U+0020
   57.70 +0x41	U+00a0
   57.71 +0x42	U+00e2
   57.72 +0x43	U+00e4
   57.73 +0x44	U+00e0
   57.74 +0x45	U+00e1
   57.75 +0x46	U+00e3
   57.76 +0x47	U+007d
   57.77 +0x48	U+00e7
   57.78 +0x49	U+00f1
   57.79 +0x4a	U+0023
   57.80 +0x4b	U+002e
   57.81 +0x4c	U+003c
   57.82 +0x4d	U+0028
   57.83 +0x4e	U+002b
   57.84 +0x4f	U+0021
   57.85 +0x50	U+0026
   57.86 +0x51	U+00e9
   57.87 +0x52	U+00ea
   57.88 +0x53	U+00eb
   57.89 +0x54	U+00e8
   57.90 +0x55	U+00ed
   57.91 +0x56	U+00ee
   57.92 +0x57	U+00ef
   57.93 +0x58	U+00ec
   57.94 +0x59	U+00df
   57.95 +0x5a	U+00a4
   57.96 +0x5b	U+00c5
   57.97 +0x5c	U+002a
   57.98 +0x5d	U+0029
   57.99 +0x5e	U+003b
  57.100 +0x5f	U+005e
  57.101 +0x60	U+002d
  57.102 +0x61	U+002f
  57.103 +0x62	U+00c2
  57.104 +0x63	U+00c4
  57.105 +0x64	U+00c0
  57.106 +0x65	U+00c1
  57.107 +0x66	U+00c3
  57.108 +0x67	U+0024
  57.109 +0x68	U+00c7
  57.110 +0x69	U+00d1
  57.111 +0x6a	U+00f8
  57.112 +0x6b	U+002c
  57.113 +0x6c	U+0025
  57.114 +0x6d	U+005f
  57.115 +0x6e	U+003e
  57.116 +0x6f	U+003f
  57.117 +0x70	U+00a6
  57.118 +0x71	U+00c9
  57.119 +0x72	U+00ca
  57.120 +0x73	U+00cb
  57.121 +0x74	U+00c8
  57.122 +0x75	U+00cd
  57.123 +0x76	U+00ce
  57.124 +0x77	U+00cf
  57.125 +0x78	U+00cc
  57.126 +0x79	U+0060
  57.127 +0x7a	U+003a
  57.128 +0x7b	U+00c6
  57.129 +0x7c	U+00d8
  57.130 +0x7d	U+0027
  57.131 +0x7e	U+003d
  57.132 +0x7f	U+0022
  57.133 +0x80	U+0040
  57.134 +0x81	U+0061
  57.135 +0x82	U+0062
  57.136 +0x83	U+0063
  57.137 +0x84	U+0064
  57.138 +0x85	U+0065
  57.139 +0x86	U+0066
  57.140 +0x87	U+0067
  57.141 +0x88	U+0068
  57.142 +0x89	U+0069
  57.143 +0x8a	U+00ab
  57.144 +0x8b	U+00bb
  57.145 +0x8c	U+00f0
  57.146 +0x8d	U+00fd
  57.147 +0x8e	U+00fe
  57.148 +0x8f	U+00b1
  57.149 +0x90	U+00b0
  57.150 +0x91	U+006a
  57.151 +0x92	U+006b
  57.152 +0x93	U+006c
  57.153 +0x94	U+006d
  57.154 +0x95	U+006e
  57.155 +0x96	U+006f
  57.156 +0x97	U+0070
  57.157 +0x98	U+0071
  57.158 +0x99	U+0072
  57.159 +0x9a	U+00aa
  57.160 +0x9b	U+00ba
  57.161 +0x9c	U+007b
  57.162 +0x9d	U+00b8
  57.163 +0x9e	U+005b
  57.164 +0x9f	U+005d
  57.165 +0xa0	U+00b5
  57.166 +0xa1	U+00fc
  57.167 +0xa2	U+0073
  57.168 +0xa3	U+0074
  57.169 +0xa4	U+0075
  57.170 +0xa5	U+0076
  57.171 +0xa6	U+0077
  57.172 +0xa7	U+0078
  57.173 +0xa8	U+0079
  57.174 +0xa9	U+007a
  57.175 +0xaa	U+00a1
  57.176 +0xab	U+00bf
  57.177 +0xac	U+00d0
  57.178 +0xad	U+00dd
  57.179 +0xae	U+00de
  57.180 +0xaf	U+00ae
  57.181 +0xb0	U+00a2
  57.182 +0xb1	U+00a3
  57.183 +0xb2	U+00a5
  57.184 +0xb3	U+00b7
  57.185 +0xb4	U+00a9
  57.186 +0xb5	U+00a7
  57.187 +0xb6	U+00b6
  57.188 +0xb7	U+00bc
  57.189 +0xb8	U+00bd
  57.190 +0xb9	U+00be
  57.191 +0xba	U+00ac
  57.192 +0xbb	U+007c
  57.193 +0xbc	U+00af
  57.194 +0xbd	U+00a8
  57.195 +0xbe	U+00b4
  57.196 +0xbf	U+00d7
  57.197 +0xc0	U+00e6
  57.198 +0xc1	U+0041
  57.199 +0xc2	U+0042
  57.200 +0xc3	U+0043
  57.201 +0xc4	U+0044
  57.202 +0xc5	U+0045
  57.203 +0xc6	U+0046
  57.204 +0xc7	U+0047
  57.205 +0xc8	U+0048
  57.206 +0xc9	U+0049
  57.207 +0xca	U+00ad
  57.208 +0xcb	U+00f4
  57.209 +0xcc	U+00f6
  57.210 +0xcd	U+00f2
  57.211 +0xce	U+00f3
  57.212 +0xcf	U+00f5
  57.213 +0xd0	U+00e5
  57.214 +0xd1	U+004a
  57.215 +0xd2	U+004b
  57.216 +0xd3	U+004c
  57.217 +0xd4	U+004d
  57.218 +0xd5	U+004e
  57.219 +0xd6	U+004f
  57.220 +0xd7	U+0050
  57.221 +0xd8	U+0051
  57.222 +0xd9	U+0052
  57.223 +0xda	U+00b9
  57.224 +0xdb	U+00fb
  57.225 +0xdc	U+007e
  57.226 +0xdd	U+00f9
  57.227 +0xde	U+00fa
  57.228 +0xdf	U+00ff
  57.229 +0xe0	U+005c
  57.230 +0xe1	U+00f7
  57.231 +0xe2	U+0053
  57.232 +0xe3	U+0054
  57.233 +0xe4	U+0055
  57.234 +0xe5	U+0056
  57.235 +0xe6	U+0057
  57.236 +0xe7	U+0058
  57.237 +0xe8	U+0059
  57.238 +0xe9	U+005a
  57.239 +0xea	U+00b2
  57.240 +0xeb	U+00d4
  57.241 +0xec	U+00d6
  57.242 +0xed	U+00d2
  57.243 +0xee	U+00d3
  57.244 +0xef	U+00d5
  57.245 +0xf0	U+0030
  57.246 +0xf1	U+0031
  57.247 +0xf2	U+0032
  57.248 +0xf3	U+0033
  57.249 +0xf4	U+0034
  57.250 +0xf5	U+0035
  57.251 +0xf6	U+0036
  57.252 +0xf7	U+0037
  57.253 +0xf8	U+0038
  57.254 +0xf9	U+0039
  57.255 +0xfa	U+00b3
  57.256 +0xfb	U+00db
  57.257 +0xfc	U+00dc
  57.258 +0xfd	U+00d9
  57.259 +0xfe	U+00da
  57.260 +0xff	U+009f
    58.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    58.2 +++ b/make/tools/CharsetMapping/IBM277.nr	Tue Jan 20 09:42:07 2009 -0800
    58.3 @@ -0,0 +1,1 @@
    58.4 +0x25	U+000a
    59.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    59.2 +++ b/make/tools/CharsetMapping/IBM278.c2b	Tue Jan 20 09:42:07 2009 -0800
    59.3 @@ -0,0 +1,1 @@
    59.4 +0x15	U+0085
    60.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    60.2 +++ b/make/tools/CharsetMapping/IBM278.map	Tue Jan 20 09:42:07 2009 -0800
    60.3 @@ -0,0 +1,257 @@
    60.4 +#Generated from IBM278.java
    60.5 +0x00	U+0000
    60.6 +0x01	U+0001
    60.7 +0x02	U+0002
    60.8 +0x03	U+0003
    60.9 +0x04	U+009c
   60.10 +0x05	U+0009
   60.11 +0x06	U+0086
   60.12 +0x07	U+007f
   60.13 +0x08	U+0097
   60.14 +0x09	U+008d
   60.15 +0x0a	U+008e
   60.16 +0x0b	U+000b
   60.17 +0x0c	U+000c
   60.18 +0x0d	U+000d
   60.19 +0x0e	U+000e
   60.20 +0x0f	U+000f
   60.21 +0x10	U+0010
   60.22 +0x11	U+0011
   60.23 +0x12	U+0012
   60.24 +0x13	U+0013
   60.25 +0x14	U+009d
   60.26 +0x15	U+000a
   60.27 +0x16	U+0008
   60.28 +0x17	U+0087
   60.29 +0x18	U+0018
   60.30 +0x19	U+0019
   60.31 +0x1a	U+0092
   60.32 +0x1b	U+008f
   60.33 +0x1c	U+001c
   60.34 +0x1d	U+001d
   60.35 +0x1e	U+001e
   60.36 +0x1f	U+001f
   60.37 +0x20	U+0080
   60.38 +0x21	U+0081
   60.39 +0x22	U+0082
   60.40 +0x23	U+0083
   60.41 +0x24	U+0084
   60.42 +0x25	U+000a
   60.43 +0x26	U+0017
   60.44 +0x27	U+001b
   60.45 +0x28	U+0088
   60.46 +0x29	U+0089
   60.47 +0x2a	U+008a
   60.48 +0x2b	U+008b
   60.49 +0x2c	U+008c
   60.50 +0x2d	U+0005
   60.51 +0x2e	U+0006
   60.52 +0x2f	U+0007
   60.53 +0x30	U+0090
   60.54 +0x31	U+0091
   60.55 +0x32	U+0016
   60.56 +0x33	U+0093
   60.57 +0x34	U+0094
   60.58 +0x35	U+0095
   60.59 +0x36	U+0096
   60.60 +0x37	U+0004
   60.61 +0x38	U+0098
   60.62 +0x39	U+0099
   60.63 +0x3a	U+009a
   60.64 +0x3b	U+009b
   60.65 +0x3c	U+0014
   60.66 +0x3d	U+0015
   60.67 +0x3e	U+009e
   60.68 +0x3f	U+001a
   60.69 +0x40	U+0020
   60.70 +0x41	U+00a0
   60.71 +0x42	U+00e2
   60.72 +0x43	U+007b
   60.73 +0x44	U+00e0
   60.74 +0x45	U+00e1
   60.75 +0x46	U+00e3
   60.76 +0x47	U+007d
   60.77 +0x48	U+00e7
   60.78 +0x49	U+00f1
   60.79 +0x4a	U+00a7
   60.80 +0x4b	U+002e
   60.81 +0x4c	U+003c
   60.82 +0x4d	U+0028
   60.83 +0x4e	U+002b
   60.84 +0x4f	U+0021
   60.85 +0x50	U+0026
   60.86 +0x51	U+0060
   60.87 +0x52	U+00ea
   60.88 +0x53	U+00eb
   60.89 +0x54	U+00e8
   60.90 +0x55	U+00ed
   60.91 +0x56	U+00ee
   60.92 +0x57	U+00ef
   60.93 +0x58	U+00ec
   60.94 +0x59	U+00df
   60.95 +0x5a	U+00a4
   60.96 +0x5b	U+00c5
   60.97 +0x5c	U+002a
   60.98 +0x5d	U+0029
   60.99 +0x5e	U+003b
  60.100 +0x5f	U+005e
  60.101 +0x60	U+002d
  60.102 +0x61	U+002f
  60.103 +0x62	U+00c2
  60.104 +0x63	U+0023
  60.105 +0x64	U+00c0
  60.106 +0x65	U+00c1
  60.107 +0x66	U+00c3
  60.108 +0x67	U+0024
  60.109 +0x68	U+00c7
  60.110 +0x69	U+00d1
  60.111 +0x6a	U+00f6
  60.112 +0x6b	U+002c
  60.113 +0x6c	U+0025
  60.114 +0x6d	U+005f
  60.115 +0x6e	U+003e
  60.116 +0x6f	U+003f
  60.117 +0x70	U+00f8
  60.118 +0x71	U+005c
  60.119 +0x72	U+00ca
  60.120 +0x73	U+00cb
  60.121 +0x74	U+00c8
  60.122 +0x75	U+00cd
  60.123 +0x76	U+00ce
  60.124 +0x77	U+00cf
  60.125 +0x78	U+00cc
  60.126 +0x79	U+00e9
  60.127 +0x7a	U+003a
  60.128 +0x7b	U+00c4
  60.129 +0x7c	U+00d6
  60.130 +0x7d	U+0027
  60.131 +0x7e	U+003d
  60.132 +0x7f	U+0022
  60.133 +0x80	U+00d8
  60.134 +0x81	U+0061
  60.135 +0x82	U+0062
  60.136 +0x83	U+0063
  60.137 +0x84	U+0064
  60.138 +0x85	U+0065
  60.139 +0x86	U+0066
  60.140 +0x87	U+0067
  60.141 +0x88	U+0068
  60.142 +0x89	U+0069
  60.143 +0x8a	U+00ab
  60.144 +0x8b	U+00bb
  60.145 +0x8c	U+00f0
  60.146 +0x8d	U+00fd
  60.147 +0x8e	U+00fe
  60.148 +0x8f	U+00b1
  60.149 +0x90	U+00b0
  60.150 +0x91	U+006a
  60.151 +0x92	U+006b
  60.152 +0x93	U+006c
  60.153 +0x94	U+006d
  60.154 +0x95	U+006e
  60.155 +0x96	U+006f
  60.156 +0x97	U+0070
  60.157 +0x98	U+0071
  60.158 +0x99	U+0072
  60.159 +0x9a	U+00aa
  60.160 +0x9b	U+00ba
  60.161 +0x9c	U+00e6
  60.162 +0x9d	U+00b8
  60.163 +0x9e	U+00c6
  60.164 +0x9f	U+005d
  60.165 +0xa0	U+00b5
  60.166 +0xa1	U+00fc
  60.167 +0xa2	U+0073
  60.168 +0xa3	U+0074
  60.169 +0xa4	U+0075
  60.170 +0xa5	U+0076
  60.171 +0xa6	U+0077
  60.172 +0xa7	U+0078
  60.173 +0xa8	U+0079
  60.174 +0xa9	U+007a
  60.175 +0xaa	U+00a1
  60.176 +0xab	U+00bf
  60.177 +0xac	U+00d0
  60.178 +0xad	U+00dd
  60.179 +0xae	U+00de
  60.180 +0xaf	U+00ae
  60.181 +0xb0	U+00a2
  60.182 +0xb1	U+00a3
  60.183 +0xb2	U+00a5
  60.184 +0xb3	U+00b7
  60.185 +0xb4	U+00a9
  60.186 +0xb5	U+005b
  60.187 +0xb6	U+00b6
  60.188 +0xb7	U+00bc
  60.189 +0xb8	U+00bd
  60.190 +0xb9	U+00be
  60.191 +0xba	U+00ac
  60.192 +0xbb	U+007c
  60.193 +0xbc	U+00af
  60.194 +0xbd	U+00a8
  60.195 +0xbe	U+00b4
  60.196 +0xbf	U+00d7
  60.197 +0xc0	U+00e4
  60.198 +0xc1	U+0041
  60.199 +0xc2	U+0042
  60.200 +0xc3	U+0043
  60.201 +0xc4	U+0044
  60.202 +0xc5	U+0045
  60.203 +0xc6	U+0046
  60.204 +0xc7	U+0047
  60.205 +0xc8	U+0048
  60.206 +0xc9	U+0049
  60.207 +0xca	U+00ad
  60.208 +0xcb	U+00f4
  60.209 +0xcc	U+00a6
  60.210 +0xcd	U+00f2
  60.211 +0xce	U+00f3
  60.212 +0xcf	U+00f5
  60.213 +0xd0	U+00e5
  60.214 +0xd1	U+004a
  60.215 +0xd2	U+004b
  60.216 +0xd3	U+004c
  60.217 +0xd4	U+004d
  60.218 +0xd5	U+004e
  60.219 +0xd6	U+004f
  60.220 +0xd7	U+0050
  60.221 +0xd8	U+0051
  60.222 +0xd9	U+0052
  60.223 +0xda	U+00b9
  60.224 +0xdb	U+00fb
  60.225 +0xdc	U+007e
  60.226 +0xdd	U+00f9
  60.227 +0xde	U+00fa
  60.228 +0xdf	U+00ff
  60.229 +0xe0	U+00c9
  60.230 +0xe1	U+00f7
  60.231 +0xe2	U+0053
  60.232 +0xe3	U+0054
  60.233 +0xe4	U+0055
  60.234 +0xe5	U+0056
  60.235 +0xe6	U+0057
  60.236 +0xe7	U+0058
  60.237 +0xe8	U+0059
  60.238 +0xe9	U+005a
  60.239 +0xea	U+00b2
  60.240 +0xeb	U+00d4
  60.241 +0xec	U+0040
  60.242 +0xed	U+00d2
  60.243 +0xee	U+00d3
  60.244 +0xef	U+00d5
  60.245 +0xf0	U+0030
  60.246 +0xf1	U+0031
  60.247 +0xf2	U+0032
  60.248 +0xf3	U+0033
  60.249 +0xf4	U+0034
  60.250 +0xf5	U+0035
  60.251 +0xf6	U+0036
  60.252 +0xf7	U+0037
  60.253 +0xf8	U+0038
  60.254 +0xf9	U+0039
  60.255 +0xfa	U+00b3
  60.256 +0xfb	U+00db
  60.257 +0xfc	U+00dc
  60.258 +0xfd	U+00d9
  60.259 +0xfe	U+00da
  60.260 +0xff	U+009f
    61.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    61.2 +++ b/make/tools/CharsetMapping/IBM278.nr	Tue Jan 20 09:42:07 2009 -0800
    61.3 @@ -0,0 +1,1 @@
    61.4 +0x25	U+000a
    62.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    62.2 +++ b/make/tools/CharsetMapping/IBM280.c2b	Tue Jan 20 09:42:07 2009 -0800
    62.3 @@ -0,0 +1,1 @@
    62.4 +0x15	U+0085
    63.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    63.2 +++ b/make/tools/CharsetMapping/IBM280.map	Tue Jan 20 09:42:07 2009 -0800
    63.3 @@ -0,0 +1,257 @@
    63.4 +#Generated from IBM280.java
    63.5 +0x00	U+0000
    63.6 +0x01	U+0001
    63.7 +0x02	U+0002
    63.8 +0x03	U+0003
    63.9 +0x04	U+009c
   63.10 +0x05	U+0009
   63.11 +0x06	U+0086
   63.12 +0x07	U+007f
   63.13 +0x08	U+0097
   63.14 +0x09	U+008d
   63.15 +0x0a	U+008e
   63.16 +0x0b	U+000b
   63.17 +0x0c	U+000c
   63.18 +0x0d	U+000d
   63.19 +0x0e	U+000e
   63.20 +0x0f	U+000f
   63.21 +0x10	U+0010
   63.22 +0x11	U+0011
   63.23 +0x12	U+0012
   63.24 +0x13	U+0013
   63.25 +0x14	U+009d
   63.26 +0x15	U+000a
   63.27 +0x16	U+0008
   63.28 +0x17	U+0087
   63.29 +0x18	U+0018
   63.30 +0x19	U+0019
   63.31 +0x1a	U+0092
   63.32 +0x1b	U+008f
   63.33 +0x1c	U+001c
   63.34 +0x1d	U+001d
   63.35 +0x1e	U+001e
   63.36 +0x1f	U+001f
   63.37 +0x20	U+0080
   63.38 +0x21	U+0081
   63.39 +0x22	U+0082
   63.40 +0x23	U+0083
   63.41 +0x24	U+0084
   63.42 +0x25	U+000a
   63.43 +0x26	U+0017
   63.44 +0x27	U+001b
   63.45 +0x28	U+0088
   63.46 +0x29	U+0089
   63.47 +0x2a	U+008a
   63.48 +0x2b	U+008b
   63.49 +0x2c	U+008c
   63.50 +0x2d	U+0005
   63.51 +0x2e	U+0006
   63.52 +0x2f	U+0007
   63.53 +0x30	U+0090
   63.54 +0x31	U+0091
   63.55 +0x32	U+0016
   63.56 +0x33	U+0093
   63.57 +0x34	U+0094
   63.58 +0x35	U+0095
   63.59 +0x36	U+0096
   63.60 +0x37	U+0004
   63.61 +0x38	U+0098
   63.62 +0x39	U+0099
   63.63 +0x3a	U+009a
   63.64 +0x3b	U+009b
   63.65 +0x3c	U+0014
   63.66 +0x3d	U+0015
   63.67 +0x3e	U+009e
   63.68 +0x3f	U+001a
   63.69 +0x40	U+0020
   63.70 +0x41	U+00a0
   63.71 +0x42	U+00e2
   63.72 +0x43	U+00e4
   63.73 +0x44	U+007b
   63.74 +0x45	U+00e1
   63.75 +0x46	U+00e3
   63.76 +0x47	U+00e5
   63.77 +0x48	U+005c
   63.78 +0x49	U+00f1
   63.79 +0x4a	U+00b0
   63.80 +0x4b	U+002e
   63.81 +0x4c	U+003c
   63.82 +0x4d	U+0028
   63.83 +0x4e	U+002b
   63.84 +0x4f	U+0021
   63.85 +0x50	U+0026
   63.86 +0x51	U+005d
   63.87 +0x52	U+00ea
   63.88 +0x53	U+00eb
   63.89 +0x54	U+007d
   63.90 +0x55	U+00ed
   63.91 +0x56	U+00ee
   63.92 +0x57	U+00ef
   63.93 +0x58	U+007e
   63.94 +0x59	U+00df
   63.95 +0x5a	U+00e9
   63.96 +0x5b	U+0024
   63.97 +0x5c	U+002a
   63.98 +0x5d	U+0029
   63.99 +0x5e	U+003b
  63.100 +0x5f	U+005e
  63.101 +0x60	U+002d
  63.102 +0x61	U+002f
  63.103 +0x62	U+00c2
  63.104 +0x63	U+00c4
  63.105 +0x64	U+00c0
  63.106 +0x65	U+00c1
  63.107 +0x66	U+00c3
  63.108 +0x67	U+00c5
  63.109 +0x68	U+00c7
  63.110 +0x69	U+00d1
  63.111 +0x6a	U+00f2
  63.112 +0x6b	U+002c
  63.113 +0x6c	U+0025
  63.114 +0x6d	U+005f
  63.115 +0x6e	U+003e
  63.116 +0x6f	U+003f
  63.117 +0x70	U+00f8
  63.118 +0x71	U+00c9
  63.119 +0x72	U+00ca
  63.120 +0x73	U+00cb
  63.121 +0x74	U+00c8
  63.122 +0x75	U+00cd
  63.123 +0x76	U+00ce
  63.124 +0x77	U+00cf
  63.125 +0x78	U+00cc
  63.126 +0x79	U+00f9
  63.127 +0x7a	U+003a
  63.128 +0x7b	U+00a3
  63.129 +0x7c	U+00a7
  63.130 +0x7d	U+0027
  63.131 +0x7e	U+003d
  63.132 +0x7f	U+0022
  63.133 +0x80	U+00d8
  63.134 +0x81	U+0061
  63.135 +0x82	U+0062
  63.136 +0x83	U+0063
  63.137 +0x84	U+0064
  63.138 +0x85	U+0065
  63.139 +0x86	U+0066
  63.140 +0x87	U+0067
  63.141 +0x88	U+0068
  63.142 +0x89	U+0069
  63.143 +0x8a	U+00ab
  63.144 +0x8b	U+00bb
  63.145 +0x8c	U+00f0
  63.146 +0x8d	U+00fd
  63.147 +0x8e	U+00fe
  63.148 +0x8f	U+00b1
  63.149 +0x90	U+005b
  63.150 +0x91	U+006a
  63.151 +0x92	U+006b
  63.152 +0x93	U+006c
  63.153 +0x94	U+006d
  63.154 +0x95	U+006e
  63.155 +0x96	U+006f
  63.156 +0x97	U+0070
  63.157 +0x98	U+0071
  63.158 +0x99	U+0072
  63.159 +0x9a	U+00aa
  63.160 +0x9b	U+00ba
  63.161 +0x9c	U+00e6
  63.162 +0x9d	U+00b8
  63.163 +0x9e	U+00c6
  63.164 +0x9f	U+00a4
  63.165 +0xa0	U+00b5
  63.166 +0xa1	U+00ec
  63.167 +0xa2	U+0073
  63.168 +0xa3	U+0074
  63.169 +0xa4	U+0075
  63.170 +0xa5	U+0076
  63.171 +0xa6	U+0077
  63.172 +0xa7	U+0078
  63.173 +0xa8	U+0079
  63.174 +0xa9	U+007a
  63.175 +0xaa	U+00a1
  63.176 +0xab	U+00bf
  63.177 +0xac	U+00d0
  63.178 +0xad	U+00dd
  63.179 +0xae	U+00de
  63.180 +0xaf	U+00ae
  63.181 +0xb0	U+00a2
  63.182 +0xb1	U+0023
  63.183 +0xb2	U+00a5
  63.184 +0xb3	U+00b7
  63.185 +0xb4	U+00a9
  63.186 +0xb5	U+0040
  63.187 +0xb6	U+00b6
  63.188 +0xb7	U+00bc
  63.189 +0xb8	U+00bd
  63.190 +0xb9	U+00be
  63.191 +0xba	U+00ac
  63.192 +0xbb	U+007c
  63.193 +0xbc	U+00af
  63.194 +0xbd	U+00a8
  63.195 +0xbe	U+00b4
  63.196 +0xbf	U+00d7
  63.197 +0xc0	U+00e0
  63.198 +0xc1	U+0041
  63.199 +0xc2	U+0042
  63.200 +0xc3	U+0043
  63.201 +0xc4	U+0044
  63.202 +0xc5	U+0045
  63.203 +0xc6	U+0046
  63.204 +0xc7	U+0047
  63.205 +0xc8	U+0048
  63.206 +0xc9	U+0049
  63.207 +0xca	U+00ad
  63.208 +0xcb	U+00f4
  63.209 +0xcc	U+00f6
  63.210 +0xcd	U+00a6
  63.211 +0xce	U+00f3
  63.212 +0xcf	U+00f5
  63.213 +0xd0	U+00e8
  63.214 +0xd1	U+004a
  63.215 +0xd2	U+004b
  63.216 +0xd3	U+004c
  63.217 +0xd4	U+004d
  63.218 +0xd5	U+004e
  63.219 +0xd6	U+004f
  63.220 +0xd7	U+0050
  63.221 +0xd8	U+0051
  63.222 +0xd9	U+0052
  63.223 +0xda	U+00b9
  63.224 +0xdb	U+00fb
  63.225 +0xdc	U+00fc
  63.226 +0xdd	U+0060
  63.227 +0xde	U+00fa
  63.228 +0xdf	U+00ff
  63.229 +0xe0	U+00e7
  63.230 +0xe1	U+00f7
  63.231 +0xe2	U+0053
  63.232 +0xe3	U+0054
  63.233 +0xe4	U+0055
  63.234 +0xe5	U+0056
  63.235 +0xe6	U+0057
  63.236 +0xe7	U+0058
  63.237 +0xe8	U+0059
  63.238 +0xe9	U+005a
  63.239 +0xea	U+00b2
  63.240 +0xeb	U+00d4
  63.241 +0xec	U+00d6
  63.242 +0xed	U+00d2
  63.243 +0xee	U+00d3
  63.244 +0xef	U+00d5
  63.245 +0xf0	U+0030
  63.246 +0xf1	U+0031
  63.247 +0xf2	U+0032
  63.248 +0xf3	U+0033
  63.249 +0xf4	U+0034
  63.250 +0xf5	U+0035
  63.251 +0xf6	U+0036
  63.252 +0xf7	U+0037
  63.253 +0xf8	U+0038
  63.254 +0xf9	U+0039
  63.255 +0xfa	U+00b3
  63.256 +0xfb	U+00db
  63.257 +0xfc	U+00dc
  63.258 +0xfd	U+00d9
  63.259 +0xfe	U+00da
  63.260 +0xff	U+009f
    64.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    64.2 +++ b/make/tools/CharsetMapping/IBM280.nr	Tue Jan 20 09:42:07 2009 -0800
    64.3 @@ -0,0 +1,1 @@
    64.4 +0x25	U+000a
    65.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    65.2 +++ b/make/tools/CharsetMapping/IBM284.c2b	Tue Jan 20 09:42:07 2009 -0800
    65.3 @@ -0,0 +1,1 @@
    65.4 +0x15	U+0085
    66.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    66.2 +++ b/make/tools/CharsetMapping/IBM284.map	Tue Jan 20 09:42:07 2009 -0800
    66.3 @@ -0,0 +1,257 @@
    66.4 +#Generated from IBM284.java
    66.5 +0x00	U+0000
    66.6 +0x01	U+0001
    66.7 +0x02	U+0002
    66.8 +0x03	U+0003
    66.9 +0x04	U+009c
   66.10 +0x05	U+0009
   66.11 +0x06	U+0086
   66.12 +0x07	U+007f
   66.13 +0x08	U+0097
   66.14 +0x09	U+008d
   66.15 +0x0a	U+008e
   66.16 +0x0b	U+000b
   66.17 +0x0c	U+000c
   66.18 +0x0d	U+000d
   66.19 +0x0e	U+000e
   66.20 +0x0f	U+000f
   66.21 +0x10	U+0010
   66.22 +0x11	U+0011
   66.23 +0x12	U+0012
   66.24 +0x13	U+0013
   66.25 +0x14	U+009d
   66.26 +0x15	U+000a
   66.27 +0x16	U+0008
   66.28 +0x17	U+0087
   66.29 +0x18	U+0018
   66.30 +0x19	U+0019
   66.31 +0x1a	U+0092
   66.32 +0x1b	U+008f
   66.33 +0x1c	U+001c
   66.34 +0x1d	U+001d
   66.35 +0x1e	U+001e
   66.36 +0x1f	U+001f
   66.37 +0x20	U+0080
   66.38 +0x21	U+0081
   66.39 +0x22	U+0082
   66.40 +0x23	U+0083
   66.41 +0x24	U+0084
   66.42 +0x25	U+000a
   66.43 +0x26	U+0017
   66.44 +0x27	U+001b
   66.45 +0x28	U+0088
   66.46 +0x29	U+0089
   66.47 +0x2a	U+008a
   66.48 +0x2b	U+008b
   66.49 +0x2c	U+008c
   66.50 +0x2d	U+0005
   66.51 +0x2e	U+0006
   66.52 +0x2f	U+0007
   66.53 +0x30	U+0090
   66.54 +0x31	U+0091
   66.55 +0x32	U+0016
   66.56 +0x33	U+0093
   66.57 +0x34	U+0094
   66.58 +0x35	U+0095
   66.59 +0x36	U+0096
   66.60 +0x37	U+0004
   66.61 +0x38	U+0098
   66.62 +0x39	U+0099
   66.63 +0x3a	U+009a
   66.64 +0x3b	U+009b
   66.65 +0x3c	U+0014
   66.66 +0x3d	U+0015
   66.67 +0x3e	U+009e
   66.68 +0x3f	U+001a
   66.69 +0x40	U+0020
   66.70 +0x41	U+00a0
   66.71 +0x42	U+00e2
   66.72 +0x43	U+00e4
   66.73 +0x44	U+00e0
   66.74 +0x45	U+00e1
   66.75 +0x46	U+00e3
   66.76 +0x47	U+00e5
   66.77 +0x48	U+00e7
   66.78 +0x49	U+00a6
   66.79 +0x4a	U+005b
   66.80 +0x4b	U+002e
   66.81 +0x4c	U+003c
   66.82 +0x4d	U+0028
   66.83 +0x4e	U+002b
   66.84 +0x4f	U+007c
   66.85 +0x50	U+0026
   66.86 +0x51	U+00e9
   66.87 +0x52	U+00ea
   66.88 +0x53	U+00eb
   66.89 +0x54	U+00e8
   66.90 +0x55	U+00ed
   66.91 +0x56	U+00ee
   66.92 +0x57	U+00ef
   66.93 +0x58	U+00ec
   66.94 +0x59	U+00df
   66.95 +0x5a	U+005d
   66.96 +0x5b	U+0024
   66.97 +0x5c	U+002a
   66.98 +0x5d	U+0029
   66.99 +0x5e	U+003b
  66.100 +0x5f	U+00ac
  66.101 +0x60	U+002d
  66.102 +0x61	U+002f
  66.103 +0x62	U+00c2
  66.104 +0x63	U+00c4
  66.105 +0x64	U+00c0
  66.106 +0x65	U+00c1
  66.107 +0x66	U+00c3
  66.108 +0x67	U+00c5
  66.109 +0x68	U+00c7
  66.110 +0x69	U+0023
  66.111 +0x6a	U+00f1
  66.112 +0x6b	U+002c
  66.113 +0x6c	U+0025
  66.114 +0x6d	U+005f
  66.115 +0x6e	U+003e
  66.116 +0x6f	U+003f
  66.117 +0x70	U+00f8
  66.118 +0x71	U+00c9
  66.119 +0x72	U+00ca
  66.120 +0x73	U+00cb
  66.121 +0x74	U+00c8
  66.122 +0x75	U+00cd
  66.123 +0x76	U+00ce
  66.124 +0x77	U+00cf
  66.125 +0x78	U+00cc
  66.126 +0x79	U+0060
  66.127 +0x7a	U+003a
  66.128 +0x7b	U+00d1
  66.129 +0x7c	U+0040
  66.130 +0x7d	U+0027
  66.131 +0x7e	U+003d
  66.132 +0x7f	U+0022
  66.133 +0x80	U+00d8
  66.134 +0x81	U+0061
  66.135 +0x82	U+0062
  66.136 +0x83	U+0063
  66.137 +0x84	U+0064
  66.138 +0x85	U+0065
  66.139 +0x86	U+0066
  66.140 +0x87	U+0067
  66.141 +0x88	U+0068
  66.142 +0x89	U+0069
  66.143 +0x8a	U+00ab
  66.144 +0x8b	U+00bb
  66.145 +0x8c	U+00f0
  66.146 +0x8d	U+00fd
  66.147 +0x8e	U+00fe
  66.148 +0x8f	U+00b1
  66.149 +0x90	U+00b0
  66.150 +0x91	U+006a
  66.151 +0x92	U+006b
  66.152 +0x93	U+006c
  66.153 +0x94	U+006d
  66.154 +0x95	U+006e
  66.155 +0x96	U+006f
  66.156 +0x97	U+0070
  66.157 +0x98	U+0071
  66.158 +0x99	U+0072
  66.159 +0x9a	U+00aa
  66.160 +0x9b	U+00ba
  66.161 +0x9c	U+00e6
  66.162 +0x9d	U+00b8
  66.163 +0x9e	U+00c6
  66.164 +0x9f	U+00a4
  66.165 +0xa0	U+00b5
  66.166 +0xa1	U+00a8
  66.167 +0xa2	U+0073
  66.168 +0xa3	U+0074
  66.169 +0xa4	U+0075
  66.170 +0xa5	U+0076
  66.171 +0xa6	U+0077
  66.172 +0xa7	U+0078
  66.173 +0xa8	U+0079
  66.174 +0xa9	U+007a
  66.175 +0xaa	U+00a1
  66.176 +0xab	U+00bf
  66.177 +0xac	U+00d0
  66.178 +0xad	U+00dd
  66.179 +0xae	U+00de
  66.180 +0xaf	U+00ae
  66.181 +0xb0	U+00a2
  66.182 +0xb1	U+00a3
  66.183 +0xb2	U+00a5
  66.184 +0xb3	U+00b7
  66.185 +0xb4	U+00a9
  66.186 +0xb5	U+00a7
  66.187 +0xb6	U+00b6
  66.188 +0xb7	U+00bc
  66.189 +0xb8	U+00bd
  66.190 +0xb9	U+00be
  66.191 +0xba	U+005e
  66.192 +0xbb	U+0021
  66.193 +0xbc	U+00af
  66.194 +0xbd	U+007e
  66.195 +0xbe	U+00b4
  66.196 +0xbf	U+00d7
  66.197 +0xc0	U+007b
  66.198 +0xc1	U+0041
  66.199 +0xc2	U+0042
  66.200 +0xc3	U+0043
  66.201 +0xc4	U+0044
  66.202 +0xc5	U+0045
  66.203 +0xc6	U+0046
  66.204 +0xc7	U+0047
  66.205 +0xc8	U+0048
  66.206 +0xc9	U+0049
  66.207 +0xca	U+00ad
  66.208 +0xcb	U+00f4
  66.209 +0xcc	U+00f6
  66.210 +0xcd	U+00f2
  66.211 +0xce	U+00f3
  66.212 +0xcf	U+00f5
  66.213 +0xd0	U+007d
  66.214 +0xd1	U+004a
  66.215 +0xd2	U+004b
  66.216 +0xd3	U+004c
  66.217 +0xd4	U+004d
  66.218 +0xd5	U+004e
  66.219 +0xd6	U+004f
  66.220 +0xd7	U+0050
  66.221 +0xd8	U+0051
  66.222 +0xd9	U+0052
  66.223 +0xda	U+00b9
  66.224 +0xdb	U+00fb
  66.225 +0xdc	U+00fc
  66.226 +0xdd	U+00f9
  66.227 +0xde	U+00fa
  66.228 +0xdf	U+00ff
  66.229 +0xe0	U+005c
  66.230 +0xe1	U+00f7
  66.231 +0xe2	U+0053
  66.232 +0xe3	U+0054
  66.233 +0xe4	U+0055
  66.234 +0xe5	U+0056
  66.235 +0xe6	U+0057
  66.236 +0xe7	U+0058
  66.237 +0xe8	U+0059
  66.238 +0xe9	U+005a
  66.239 +0xea	U+00b2
  66.240 +0xeb	U+00d4
  66.241 +0xec	U+00d6
  66.242 +0xed	U+00d2
  66.243 +0xee	U+00d3
  66.244 +0xef	U+00d5
  66.245 +0xf0	U+0030
  66.246 +0xf1	U+0031
  66.247 +0xf2	U+0032
  66.248 +0xf3	U+0033
  66.249 +0xf4	U+0034
  66.250 +0xf5	U+0035
  66.251 +0xf6	U+0036
  66.252 +0xf7	U+0037
  66.253 +0xf8	U+0038
  66.254 +0xf9	U+0039
  66.255 +0xfa	U+00b3
  66.256 +0xfb	U+00db
  66.257 +0xfc	U+00dc
  66.258 +0xfd	U+00d9
  66.259 +0xfe	U+00da
  66.260 +0xff	U+009f
    67.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    67.2 +++ b/make/tools/CharsetMapping/IBM284.nr	Tue Jan 20 09:42:07 2009 -0800
    67.3 @@ -0,0 +1,1 @@
    67.4 +0x25	U+000a
    68.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    68.2 +++ b/make/tools/CharsetMapping/IBM285.c2b	Tue Jan 20 09:42:07 2009 -0800
    68.3 @@ -0,0 +1,1 @@
    68.4 +0x15	U+0085
    69.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    69.2 +++ b/make/tools/CharsetMapping/IBM285.map	Tue Jan 20 09:42:07 2009 -0800
    69.3 @@ -0,0 +1,257 @@
    69.4 +#Generated from IBM285.java
    69.5 +0x00	U+0000
    69.6 +0x01	U+0001
    69.7 +0x02	U+0002
    69.8 +0x03	U+0003
    69.9 +0x04	U+009c
   69.10 +0x05	U+0009
   69.11 +0x06	U+0086
   69.12 +0x07	U+007f
   69.13 +0x08	U+0097
   69.14 +0x09	U+008d
   69.15 +0x0a	U+008e
   69.16 +0x0b	U+000b
   69.17 +0x0c	U+000c
   69.18 +0x0d	U+000d
   69.19 +0x0e	U+000e
   69.20 +0x0f	U+000f
   69.21 +0x10	U+0010
   69.22 +0x11	U+0011
   69.23 +0x12	U+0012
   69.24 +0x13	U+0013
   69.25 +0x14	U+009d
   69.26 +0x15	U+000a
   69.27 +0x16	U+0008
   69.28 +0x17	U+0087
   69.29 +0x18	U+0018
   69.30 +0x19	U+0019
   69.31 +0x1a	U+0092
   69.32 +0x1b	U+008f
   69.33 +0x1c	U+001c
   69.34 +0x1d	U+001d
   69.35 +0x1e	U+001e
   69.36 +0x1f	U+001f
   69.37 +0x20	U+0080
   69.38 +0x21	U+0081
   69.39 +0x22	U+0082
   69.40 +0x23	U+0083
   69.41 +0x24	U+0084
   69.42 +0x25	U+000a
   69.43 +0x26	U+0017
   69.44 +0x27	U+001b
   69.45 +0x28	U+0088
   69.46 +0x29	U+0089
   69.47 +0x2a	U+008a
   69.48 +0x2b	U+008b
   69.49 +0x2c	U+008c
   69.50 +0x2d	U+0005
   69.51 +0x2e	U+0006
   69.52 +0x2f	U+0007
   69.53 +0x30	U+0090
   69.54 +0x31	U+0091
   69.55 +0x32	U+0016
   69.56 +0x33	U+0093
   69.57 +0x34	U+0094
   69.58 +0x35	U+0095
   69.59 +0x36	U+0096
   69.60 +0x37	U+0004
   69.61 +0x38	U+0098
   69.62 +0x39	U+0099
   69.63 +0x3a	U+009a
   69.64 +0x3b	U+009b
   69.65 +0x3c	U+0014
   69.66 +0x3d	U+0015
   69.67 +0x3e	U+009e
   69.68 +0x3f	U+001a
   69.69 +0x40	U+0020
   69.70 +0x41	U+00a0
   69.71 +0x42	U+00e2
   69.72 +0x43	U+00e4
   69.73 +0x44	U+00e0
   69.74 +0x45	U+00e1
   69.75 +0x46	U+00e3
   69.76 +0x47	U+00e5
   69.77 +0x48	U+00e7
   69.78 +0x49	U+00f1
   69.79 +0x4a	U+0024
   69.80 +0x4b	U+002e
   69.81 +0x4c	U+003c
   69.82 +0x4d	U+0028
   69.83 +0x4e	U+002b
   69.84 +0x4f	U+007c
   69.85 +0x50	U+0026
   69.86 +0x51	U+00e9
   69.87 +0x52	U+00ea
   69.88 +0x53	U+00eb
   69.89 +0x54	U+00e8
   69.90 +0x55	U+00ed
   69.91 +0x56	U+00ee
   69.92 +0x57	U+00ef
   69.93 +0x58	U+00ec
   69.94 +0x59	U+00df
   69.95 +0x5a	U+0021
   69.96 +0x5b	U+00a3
   69.97 +0x5c	U+002a
   69.98 +0x5d	U+0029
   69.99 +0x5e	U+003b
  69.100 +0x5f	U+00ac
  69.101 +0x60	U+002d
  69.102 +0x61	U+002f
  69.103 +0x62	U+00c2
  69.104 +0x63	U+00c4
  69.105 +0x64	U+00c0
  69.106 +0x65	U+00c1
  69.107 +0x66	U+00c3
  69.108 +0x67	U+00c5
  69.109 +0x68	U+00c7
  69.110 +0x69	U+00d1
  69.111 +0x6a	U+00a6
  69.112 +0x6b	U+002c
  69.113 +0x6c	U+0025
  69.114 +0x6d	U+005f
  69.115 +0x6e	U+003e
  69.116 +0x6f	U+003f
  69.117 +0x70	U+00f8
  69.118 +0x71	U+00c9
  69.119 +0x72	U+00ca
  69.120 +0x73	U+00cb
  69.121 +0x74	U+00c8
  69.122 +0x75	U+00cd
  69.123 +0x76	U+00ce
  69.124 +0x77	U+00cf
  69.125 +0x78	U+00cc
  69.126 +0x79	U+0060
  69.127 +0x7a	U+003a
  69.128 +0x7b	U+0023
  69.129 +0x7c	U+0040
  69.130 +0x7d	U+0027
  69.131 +0x7e	U+003d
  69.132 +0x7f	U+0022
  69.133 +0x80	U+00d8
  69.134 +0x81	U+0061
  69.135 +0x82	U+0062
  69.136 +0x83	U+0063
  69.137 +0x84	U+0064
  69.138 +0x85	U+0065
  69.139 +0x86	U+0066
  69.140 +0x87	U+0067
  69.141 +0x88	U+0068
  69.142 +0x89	U+0069
  69.143 +0x8a	U+00ab
  69.144 +0x8b	U+00bb
  69.145 +0x8c	U+00f0
  69.146 +0x8d	U+00fd
  69.147 +0x8e	U+00fe
  69.148 +0x8f	U+00b1
  69.149 +0x90	U+00b0
  69.150 +0x91	U+006a
  69.151 +0x92	U+006b
  69.152 +0x93	U+006c
  69.153 +0x94	U+006d
  69.154 +0x95	U+006e
  69.155 +0x96	U+006f
  69.156 +0x97	U+0070
  69.157 +0x98	U+0071
  69.158 +0x99	U+0072
  69.159 +0x9a	U+00aa
  69.160 +0x9b	U+00ba
  69.161 +0x9c	U+00e6
  69.162 +0x9d	U+00b8
  69.163 +0x9e	U+00c6
  69.164 +0x9f	U+00a4
  69.165 +0xa0	U+00b5
  69.166 +0xa1	U+00af
  69.167 +0xa2	U+0073
  69.168 +0xa3	U+0074
  69.169 +0xa4	U+0075
  69.170 +0xa5	U+0076
  69.171 +0xa6	U+0077
  69.172 +0xa7	U+0078
  69.173 +0xa8	U+0079
  69.174 +0xa9	U+007a
  69.175 +0xaa	U+00a1
  69.176 +0xab	U+00bf
  69.177 +0xac	U+00d0
  69.178 +0xad	U+00dd
  69.179 +0xae	U+00de
  69.180 +0xaf	U+00ae
  69.181 +0xb0	U+00a2
  69.182 +0xb1	U+005b
  69.183 +0xb2	U+00a5
  69.184 +0xb3	U+00b7
  69.185 +0xb4	U+00a9
  69.186 +0xb5	U+00a7
  69.187 +0xb6	U+00b6
  69.188 +0xb7	U+00bc
  69.189 +0xb8	U+00bd
  69.190 +0xb9	U+00be
  69.191 +0xba	U+005e
  69.192 +0xbb	U+005d
  69.193 +0xbc	U+007e
  69.194 +0xbd	U+00a8
  69.195 +0xbe	U+00b4
  69.196 +0xbf	U+00d7
  69.197 +0xc0	U+007b
  69.198 +0xc1	U+0041
  69.199 +0xc2	U+0042
  69.200 +0xc3	U+0043
  69.201 +0xc4	U+0044
  69.202 +0xc5	U+0045
  69.203 +0xc6	U+0046
  69.204 +0xc7	U+0047
  69.205 +0xc8	U+0048
  69.206 +0xc9	U+0049
  69.207 +0xca	U+00ad
  69.208 +0xcb	U+00f4
  69.209 +0xcc	U+00f6
  69.210 +0xcd	U+00f2
  69.211 +0xce	U+00f3
  69.212 +0xcf	U+00f5
  69.213 +0xd0	U+007d
  69.214 +0xd1	U+004a
  69.215 +0xd2	U+004b
  69.216 +0xd3	U+004c
  69.217 +0xd4	U+004d
  69.218 +0xd5	U+004e
  69.219 +0xd6	U+004f
  69.220 +0xd7	U+0050
  69.221 +0xd8	U+0051
  69.222 +0xd9	U+0052
  69.223 +0xda	U+00b9
  69.224 +0xdb	U+00fb
  69.225 +0xdc	U+00fc
  69.226 +0xdd	U+00f9
  69.227 +0xde	U+00fa
  69.228 +0xdf	U+00ff
  69.229 +0xe0	U+005c
  69.230 +0xe1	U+00f7
  69.231 +0xe2	U+0053
  69.232 +0xe3	U+0054
  69.233 +0xe4	U+0055
  69.234 +0xe5	U+0056
  69.235 +0xe6	U+0057
  69.236 +0xe7	U+0058
  69.237 +0xe8	U+0059
  69.238 +0xe9	U+005a
  69.239 +0xea	U+00b2
  69.240 +0xeb	U+00d4
  69.241 +0xec	U+00d6
  69.242 +0xed	U+00d2
  69.243 +0xee	U+00d3
  69.244 +0xef	U+00d5
  69.245 +0xf0	U+0030
  69.246 +0xf1	U+0031
  69.247 +0xf2	U+0032
  69.248 +0xf3	U+0033
  69.249 +0xf4	U+0034
  69.250 +0xf5	U+0035
  69.251 +0xf6	U+0036
  69.252 +0xf7	U+0037
  69.253 +0xf8	U+0038
  69.254 +0xf9	U+0039
  69.255 +0xfa	U+00b3
  69.256 +0xfb	U+00db
  69.257 +0xfc	U+00dc
  69.258 +0xfd	U+00d9
  69.259 +0xfe	U+00da
  69.260 +0xff	U+009f
    70.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    70.2 +++ b/make/tools/CharsetMapping/IBM285.nr	Tue Jan 20 09:42:07 2009 -0800
    70.3 @@ -0,0 +1,1 @@
    70.4 +0x25	U+000a
    71.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    71.2 +++ b/make/tools/CharsetMapping/IBM297.c2b	Tue Jan 20 09:42:07 2009 -0800
    71.3 @@ -0,0 +1,1 @@
    71.4 +0x15	U+0085
    72.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    72.2 +++ b/make/tools/CharsetMapping/IBM297.map	Tue Jan 20 09:42:07 2009 -0800
    72.3 @@ -0,0 +1,257 @@
    72.4 +#Generated from IBM297.java
    72.5 +0x00	U+0000
    72.6 +0x01	U+0001
    72.7 +0x02	U+0002
    72.8 +0x03	U+0003
    72.9 +0x04	U+009c
   72.10 +0x05	U+0009
   72.11 +0x06	U+0086
   72.12 +0x07	U+007f
   72.13 +0x08	U+0097
   72.14 +0x09	U+008d
   72.15 +0x0a	U+008e
   72.16 +0x0b	U+000b
   72.17 +0x0c	U+000c
   72.18 +0x0d	U+000d
   72.19 +0x0e	U+000e
   72.20 +0x0f	U+000f
   72.21 +0x10	U+0010
   72.22 +0x11	U+0011
   72.23 +0x12	U+0012
   72.24 +0x13	U+0013
   72.25 +0x14	U+009d
   72.26 +0x15	U+000a
   72.27 +0x16	U+0008
   72.28 +0x17	U+0087
   72.29 +0x18	U+0018
   72.30 +0x19	U+0019
   72.31 +0x1a	U+0092
   72.32 +0x1b	U+008f
   72.33 +0x1c	U+001c
   72.34 +0x1d	U+001d
   72.35 +0x1e	U+001e
   72.36 +0x1f	U+001f
   72.37 +0x20	U+0080
   72.38 +0x21	U+0081
   72.39 +0x22	U+0082
   72.40 +0x23	U+0083
   72.41 +0x24	U+0084
   72.42 +0x25	U+000a
   72.43 +0x26	U+0017
   72.44 +0x27	U+001b
   72.45 +0x28	U+0088
   72.46 +0x29	U+0089
   72.47 +0x2a	U+008a
   72.48 +0x2b	U+008b
   72.49 +0x2c	U+008c
   72.50 +0x2d	U+0005
   72.51 +0x2e	U+0006
   72.52 +0x2f	U+0007
   72.53 +0x30	U+0090
   72.54 +0x31	U+0091
   72.55 +0x32	U+0016
   72.56 +0x33	U+0093
   72.57 +0x34	U+0094
   72.58 +0x35	U+0095
   72.59 +0x36	U+0096
   72.60 +0x37	U+0004
   72.61 +0x38	U+0098
   72.62 +0x39	U+0099
   72.63 +0x3a	U+009a
   72.64 +0x3b	U+009b
   72.65 +0x3c	U+0014
   72.66 +0x3d	U+0015
   72.67 +0x3e	U+009e
   72.68 +0x3f	U+001a
   72.69 +0x40	U+0020
   72.70 +0x41	U+00a0
   72.71 +0x42	U+00e2
   72.72 +0x43	U+00e4
   72.73 +0x44	U+0040
   72.74 +0x45	U+00e1
   72.75 +0x46	U+00e3
   72.76 +0x47	U+00e5
   72.77 +0x48	U+005c
   72.78 +0x49	U+00f1
   72.79 +0x4a	U+00b0
   72.80 +0x4b	U+002e
   72.81 +0x4c	U+003c
   72.82 +0x4d	U+0028
   72.83 +0x4e	U+002b
   72.84 +0x4f	U+0021
   72.85 +0x50	U+0026
   72.86 +0x51	U+007b
   72.87 +0x52	U+00ea
   72.88 +0x53	U+00eb
   72.89 +0x54	U+007d
   72.90 +0x55	U+00ed
   72.91 +0x56	U+00ee
   72.92 +0x57	U+00ef
   72.93 +0x58	U+00ec
   72.94 +0x59	U+00df
   72.95 +0x5a	U+00a7
   72.96 +0x5b	U+0024
   72.97 +0x5c	U+002a
   72.98 +0x5d	U+0029
   72.99 +0x5e	U+003b
  72.100 +0x5f	U+005e
  72.101 +0x60	U+002d
  72.102 +0x61	U+002f
  72.103 +0x62	U+00c2
  72.104 +0x63	U+00c4
  72.105 +0x64	U+00c0
  72.106 +0x65	U+00c1
  72.107 +0x66	U+00c3
  72.108 +0x67	U+00c5
  72.109 +0x68	U+00c7
  72.110 +0x69	U+00d1
  72.111 +0x6a	U+00f9
  72.112 +0x6b	U+002c
  72.113 +0x6c	U+0025
  72.114 +0x6d	U+005f
  72.115 +0x6e	U+003e
  72.116 +0x6f	U+003f
  72.117 +0x70	U+00f8
  72.118 +0x71	U+00c9
  72.119 +0x72	U+00ca
  72.120 +0x73	U+00cb
  72.121 +0x74	U+00c8
  72.122 +0x75	U+00cd
  72.123 +0x76	U+00ce
  72.124 +0x77	U+00cf
  72.125 +0x78	U+00cc
  72.126 +0x79	U+00b5
  72.127 +0x7a	U+003a
  72.128 +0x7b	U+00a3
  72.129 +0x7c	U+00e0
  72.130 +0x7d	U+0027
  72.131 +0x7e	U+003d
  72.132 +0x7f	U+0022
  72.133 +0x80	U+00d8
  72.134 +0x81	U+0061
  72.135 +0x82	U+0062
  72.136 +0x83	U+0063
  72.137 +0x84	U+0064
  72.138 +0x85	U+0065
  72.139 +0x86	U+0066
  72.140 +0x87	U+0067
  72.141 +0x88	U+0068
  72.142 +0x89	U+0069
  72.143 +0x8a	U+00ab
  72.144 +0x8b	U+00bb
  72.145 +0x8c	U+00f0
  72.146 +0x8d	U+00fd
  72.147 +0x8e	U+00fe
  72.148 +0x8f	U+00b1
  72.149 +0x90	U+005b
  72.150 +0x91	U+006a
  72.151 +0x92	U+006b
  72.152 +0x93	U+006c
  72.153 +0x94	U+006d
  72.154 +0x95	U+006e
  72.155 +0x96	U+006f
  72.156 +0x97	U+0070
  72.157 +0x98	U+0071
  72.158 +0x99	U+0072
  72.159 +0x9a	U+00aa
  72.160 +0x9b	U+00ba
  72.161 +0x9c	U+00e6
  72.162 +0x9d	U+00b8
  72.163 +0x9e	U+00c6
  72.164 +0x9f	U+00a4
  72.165 +0xa0	U+0060
  72.166 +0xa1	U+00a8
  72.167 +0xa2	U+0073
  72.168 +0xa3	U+0074
  72.169 +0xa4	U+0075
  72.170 +0xa5	U+0076
  72.171 +0xa6	U+0077
  72.172 +0xa7	U+0078
  72.173 +0xa8	U+0079
  72.174 +0xa9	U+007a
  72.175 +0xaa	U+00a1
  72.176 +0xab	U+00bf
  72.177 +0xac	U+00d0
  72.178 +0xad	U+00dd
  72.179 +0xae	U+00de
  72.180 +0xaf	U+00ae
  72.181 +0xb0	U+00a2
  72.182 +0xb1	U+0023
  72.183 +0xb2	U+00a5
  72.184 +0xb3	U+00b7
  72.185 +0xb4	U+00a9
  72.186 +0xb5	U+005d
  72.187 +0xb6	U+00b6
  72.188 +0xb7	U+00bc
  72.189 +0xb8	U+00bd
  72.190 +0xb9	U+00be
  72.191 +0xba	U+00ac
  72.192 +0xbb	U+007c
  72.193 +0xbc	U+00af
  72.194 +0xbd	U+007e
  72.195 +0xbe	U+00b4
  72.196 +0xbf	U+00d7
  72.197 +0xc0	U+00e9
  72.198 +0xc1	U+0041
  72.199 +0xc2	U+0042
  72.200 +0xc3	U+0043
  72.201 +0xc4	U+0044
  72.202 +0xc5	U+0045
  72.203 +0xc6	U+0046
  72.204 +0xc7	U+0047
  72.205 +0xc8	U+0048
  72.206 +0xc9	U+0049
  72.207 +0xca	U+00ad
  72.208 +0xcb	U+00f4
  72.209 +0xcc	U+00f6
  72.210 +0xcd	U+00f2
  72.211 +0xce	U+00f3
  72.212 +0xcf	U+00f5
  72.213 +0xd0	U+00e8
  72.214 +0xd1	U+004a
  72.215 +0xd2	U+004b
  72.216 +0xd3	U+004c
  72.217 +0xd4	U+004d
  72.218 +0xd5	U+004e
  72.219 +0xd6	U+004f
  72.220 +0xd7	U+0050
  72.221 +0xd8	U+0051
  72.222 +0xd9	U+0052
  72.223 +0xda	U+00b9
  72.224 +0xdb	U+00fb
  72.225 +0xdc	U+00fc
  72.226 +0xdd	U+00a6
  72.227 +0xde	U+00fa
  72.228 +0xdf	U+00ff
  72.229 +0xe0	U+00e7
  72.230 +0xe1	U+00f7
  72.231 +0xe2	U+0053
  72.232 +0xe3	U+0054
  72.233 +0xe4	U+0055
  72.234 +0xe5	U+0056
  72.235 +0xe6	U+0057
  72.236 +0xe7	U+0058
  72.237 +0xe8	U+0059
  72.238 +0xe9	U+005a
  72.239 +0xea	U+00b2
  72.240 +0xeb	U+00d4
  72.241 +0xec	U+00d6
  72.242 +0xed	U+00d2
  72.243 +0xee	U+00d3
  72.244 +0xef	U+00d5
  72.245 +0xf0	U+0030
  72.246 +0xf1	U+0031
  72.247 +0xf2	U+0032
  72.248 +0xf3	U+0033
  72.249 +0xf4	U+0034
  72.250 +0xf5	U+0035
  72.251 +0xf6	U+0036
  72.252 +0xf7	U+0037
  72.253 +0xf8	U+0038
  72.254 +0xf9	U+0039
  72.255 +0xfa	U+00b3
  72.256 +0xfb	U+00db
  72.257 +0xfc	U+00dc
  72.258 +0xfd	U+00d9
  72.259 +0xfe	U+00da
  72.260 +0xff	U+009f
    73.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    73.2 +++ b/make/tools/CharsetMapping/IBM297.nr	Tue Jan 20 09:42:07 2009 -0800
    73.3 @@ -0,0 +1,1 @@
    73.4 +0x25	U+000a
    74.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    74.2 +++ b/make/tools/CharsetMapping/IBM420.c2b	Tue Jan 20 09:42:07 2009 -0800
    74.3 @@ -0,0 +1,1 @@
    74.4 +0x15	U+0085
    75.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    75.2 +++ b/make/tools/CharsetMapping/IBM420.map	Tue Jan 20 09:42:07 2009 -0800
    75.3 @@ -0,0 +1,257 @@
    75.4 +#Generated from IBM420.java
    75.5 +0x00	U+0000
    75.6 +0x01	U+0001
    75.7 +0x02	U+0002
    75.8 +0x03	U+0003
    75.9 +0x04	U+009c
   75.10 +0x05	U+0009
   75.11 +0x06	U+0086
   75.12 +0x07	U+007f
   75.13 +0x08	U+0097
   75.14 +0x09	U+008d
   75.15 +0x0a	U+008e
   75.16 +0x0b	U+000b
   75.17 +0x0c	U+000c
   75.18 +0x0d	U+000d
   75.19 +0x0e	U+000e
   75.20 +0x0f	U+000f
   75.21 +0x10	U+0010
   75.22 +0x11	U+0011
   75.23 +0x12	U+0012
   75.24 +0x13	U+0013
   75.25 +0x14	U+009d
   75.26 +0x15	U+000a
   75.27 +0x16	U+0008
   75.28 +0x17	U+0087
   75.29 +0x18	U+0018
   75.30 +0x19	U+0019
   75.31 +0x1a	U+0092
   75.32 +0x1b	U+008f
   75.33 +0x1c	U+001c
   75.34 +0x1d	U+001d
   75.35 +0x1e	U+001e
   75.36 +0x1f	U+001f
   75.37 +0x20	U+0080
   75.38 +0x21	U+0081
   75.39 +0x22	U+0082
   75.40 +0x23	U+0083
   75.41 +0x24	U+0084
   75.42 +0x25	U+000a
   75.43 +0x26	U+0017
   75.44 +0x27	U+001b
   75.45 +0x28	U+0088
   75.46 +0x29	U+0089
   75.47 +0x2a	U+008a
   75.48 +0x2b	U+008b
   75.49 +0x2c	U+008c
   75.50 +0x2d	U+0005
   75.51 +0x2e	U+0006
   75.52 +0x2f	U+0007
   75.53 +0x30	U+0090
   75.54 +0x31	U+0091
   75.55 +0x32	U+0016
   75.56 +0x33	U+0093
   75.57 +0x34	U+0094
   75.58 +0x35	U+0095
   75.59 +0x36	U+0096
   75.60 +0x37	U+0004
   75.61 +0x38	U+0098
   75.62 +0x39	U+0099
   75.63 +0x3a	U+009a
   75.64 +0x3b	U+009b
   75.65 +0x3c	U+0014
   75.66 +0x3d	U+0015
   75.67 +0x3e	U+009e
   75.68 +0x3f	U+001a
   75.69 +0x40	U+0020
   75.70 +0x41	U+00a0
   75.71 +0x42	U+fe7c
   75.72 +0x43	U+fe7d
   75.73 +0x44	U+0640
   75.74 +0x45	U+f8fc
   75.75 +0x46	U+fe80
   75.76 +0x47	U+fe81
   75.77 +0x48	U+fe82
   75.78 +0x49	U+fe83
   75.79 +0x4a	U+00a2
   75.80 +0x4b	U+002e
   75.81 +0x4c	U+003c
   75.82 +0x4d	U+0028
   75.83 +0x4e	U+002b
   75.84 +0x4f	U+007c
   75.85 +0x50	U+0026
   75.86 +0x51	U+fe84
   75.87 +0x52	U+fe85
   75.88 +0x53	U+fffd
   75.89 +0x54	U+fffd
   75.90 +0x55	U+fe8b
   75.91 +0x56	U+fe8d
   75.92 +0x57	U+fe8e
   75.93 +0x58	U+fe8f
   75.94 +0x59	U+fe91
   75.95 +0x5a	U+0021
   75.96 +0x5b	U+0024
   75.97 +0x5c	U+002a
   75.98 +0x5d	U+0029
   75.99 +0x5e	U+003b
  75.100 +0x5f	U+00ac
  75.101 +0x60	U+002d
  75.102 +0x61	U+002f
  75.103 +0x62	U+fe93
  75.104 +0x63	U+fe95
  75.105 +0x64	U+fe97
  75.106 +0x65	U+fe99
  75.107 +0x66	U+fe9b
  75.108 +0x67	U+fe9d
  75.109 +0x68	U+fe9f
  75.110 +0x69	U+fea1
  75.111 +0x6a	U+00a6
  75.112 +0x6b	U+002c
  75.113 +0x6c	U+0025
  75.114 +0x6d	U+005f
  75.115 +0x6e	U+003e
  75.116 +0x6f	U+003f
  75.117 +0x70	U+fea3
  75.118 +0x71	U+fea5
  75.119 +0x72	U+fea7
  75.120 +0x73	U+fea9
  75.121 +0x74	U+feab
  75.122 +0x75	U+fead
  75.123 +0x76	U+feaf
  75.124 +0x77	U+f8f6
  75.125 +0x78	U+feb3
  75.126 +0x79	U+060c
  75.127 +0x7a	U+003a
  75.128 +0x7b	U+0023
  75.129 +0x7c	U+0040
  75.130 +0x7d	U+0027
  75.131 +0x7e	U+003d
  75.132 +0x7f	U+0022
  75.133 +0x80	U+f8f5
  75.134 +0x81	U+0061
  75.135 +0x82	U+0062
  75.136 +0x83	U+0063
  75.137 +0x84	U+0064
  75.138 +0x85	U+0065
  75.139 +0x86	U+0066
  75.140 +0x87	U+0067
  75.141 +0x88	U+0068
  75.142 +0x89	U+0069
  75.143 +0x8a	U+feb7
  75.144 +0x8b	U+f8f4
  75.145 +0x8c	U+febb
  75.146 +0x8d	U+f8f7
  75.147 +0x8e	U+febf
  75.148 +0x8f	U+fec3
  75.149 +0x90	U+fec7
  75.150 +0x91	U+006a
  75.151 +0x92	U+006b
  75.152 +0x93	U+006c
  75.153 +0x94	U+006d
  75.154 +0x95	U+006e
  75.155 +0x96	U+006f
  75.156 +0x97	U+0070
  75.157 +0x98	U+0071
  75.158 +0x99	U+0072
  75.159 +0x9a	U+fec9
  75.160 +0x9b	U+feca
  75.161 +0x9c	U+fecb
  75.162 +0x9d	U+fecc
  75.163 +0x9e	U+fecd
  75.164 +0x9f	U+fece
  75.165 +0xa0	U+fecf
  75.166 +0xa1	U+00f7
  75.167 +0xa2	U+0073
  75.168 +0xa3	U+0074
  75.169 +0xa4	U+0075
  75.170 +0xa5	U+0076
  75.171 +0xa6	U+0077
  75.172 +0xa7	U+0078
  75.173 +0xa8	U+0079
  75.174 +0xa9	U+007a
  75.175 +0xaa	U+fed0
  75.176 +0xab	U+fed1
  75.177 +0xac	U+fed3
  75.178 +0xad	U+fed5
  75.179 +0xae	U+fed7
  75.180 +0xaf	U+fed9
  75.181 +0xb0	U+fedb
  75.182 +0xb1	U+fedd
  75.183 +0xb2	U+fef5
  75.184 +0xb3	U+fef6
  75.185 +0xb4	U+fef7
  75.186 +0xb5	U+fef8
  75.187 +0xb6	U+fffd
  75.188 +0xb7	U+fffd
  75.189 +0xb8	U+fefb
  75.190 +0xb9	U+fefc
  75.191 +0xba	U+fedf
  75.192 +0xbb	U+fee1
  75.193 +0xbc	U+fee3
  75.194 +0xbd	U+fee5
  75.195 +0xbe	U+fee7
  75.196 +0xbf	U+fee9
  75.197 +0xc0	U+061b
  75.198 +0xc1	U+0041
  75.199 +0xc2	U+0042
  75.200 +0xc3	U+0043
  75.201 +0xc4	U+0044
  75.202 +0xc5	U+0045
  75.203 +0xc6	U+0046
  75.204 +0xc7	U+0047
  75.205 +0xc8	U+0048
  75.206 +0xc9	U+0049
  75.207 +0xca	U+00ad
  75.208 +0xcb	U+feeb
  75.209 +0xcc	U+fffd
  75.210 +0xcd	U+feec
  75.211 +0xce	U+fffd
  75.212 +0xcf	U+feed
  75.213 +0xd0	U+061f
  75.214 +0xd1	U+004a
  75.215 +0xd2	U+004b
  75.216 +0xd3	U+004c
  75.217 +0xd4	U+004d
  75.218 +0xd5	U+004e
  75.219 +0xd6	U+004f
  75.220 +0xd7	U+0050
  75.221 +0xd8	U+0051
  75.222 +0xd9	U+0052
  75.223 +0xda	U+feef
  75.224 +0xdb	U+fef0
  75.225 +0xdc	U+fef1
  75.226 +0xdd	U+fef2
  75.227 +0xde	U+fef3
  75.228 +0xdf	U+0660
  75.229 +0xe0	U+00d7
  75.230 +0xe1	U+2007
  75.231 +0xe2	U+0053
  75.232 +0xe3	U+0054
  75.233 +0xe4	U+0055
  75.234 +0xe5	U+0056
  75.235 +0xe6	U+0057
  75.236 +0xe7	U+0058
  75.237 +0xe8	U+0059
  75.238 +0xe9	U+005a
  75.239 +0xea	U+0661
  75.240 +0xeb	U+0662
  75.241 +0xec	U+fffd
  75.242 +0xed	U+0663
  75.243 +0xee	U+0664
  75.244 +0xef	U+0665
  75.245 +0xf0	U+0030
  75.246 +0xf1	U+0031
  75.247 +0xf2	U+0032
  75.248 +0xf3	U+0033
  75.249 +0xf4	U+0034
  75.250 +0xf5	U+0035
  75.251 +0xf6	U+0036
  75.252 +0xf7	U+0037
  75.253 +0xf8	U+0038
  75.254 +0xf9	U+0039
  75.255 +0xfa	U+fffd
  75.256 +0xfb	U+0666
  75.257 +0xfc	U+0667
  75.258 +0xfd	U+0668
  75.259 +0xfe	U+0669
  75.260 +0xff	U+009f
    76.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    76.2 +++ b/make/tools/CharsetMapping/IBM420.nr	Tue Jan 20 09:42:07 2009 -0800
    76.3 @@ -0,0 +1,1 @@
    76.4 +0x25	U+000a
    77.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    77.2 +++ b/make/tools/CharsetMapping/IBM424.c2b	Tue Jan 20 09:42:07 2009 -0800
    77.3 @@ -0,0 +1,1 @@
    77.4 +0x15	U+0085
    78.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    78.2 +++ b/make/tools/CharsetMapping/IBM424.map	Tue Jan 20 09:42:07 2009 -0800
    78.3 @@ -0,0 +1,257 @@
    78.4 +#Generated from IBM424.java
    78.5 +0x00	U+0000
    78.6 +0x01	U+0001
    78.7 +0x02	U+0002
    78.8 +0x03	U+0003
    78.9 +0x04	U+009c
   78.10 +0x05	U+0009
   78.11 +0x06	U+0086
   78.12 +0x07	U+007f
   78.13 +0x08	U+0097
   78.14 +0x09	U+008d
   78.15 +0x0a	U+008e
   78.16 +0x0b	U+000b
   78.17 +0x0c	U+000c
   78.18 +0x0d	U+000d
   78.19 +0x0e	U+000e
   78.20 +0x0f	U+000f
   78.21 +0x10	U+0010
   78.22 +0x11	U+0011
   78.23 +0x12	U+0012
   78.24 +0x13	U+0013
   78.25 +0x14	U+009d
   78.26 +0x15	U+000a
   78.27 +0x16	U+0008
   78.28 +0x17	U+0087
   78.29 +0x18	U+0018
   78.30 +0x19	U+0019
   78.31 +0x1a	U+0092
   78.32 +0x1b	U+008f
   78.33 +0x1c	U+001c
   78.34 +0x1d	U+001d
   78.35 +0x1e	U+001e
   78.36 +0x1f	U+001f
   78.37 +0x20	U+0080
   78.38 +0x21	U+0081
   78.39 +0x22	U+0082
   78.40 +0x23	U+0083
   78.41 +0x24	U+0084
   78.42 +0x25	U+000a
   78.43 +0x26	U+0017
   78.44 +0x27	U+001b
   78.45 +0x28	U+0088
   78.46 +0x29	U+0089
   78.47 +0x2a	U+008a
   78.48 +0x2b	U+008b
   78.49 +0x2c	U+008c
   78.50 +0x2d	U+0005
   78.51 +0x2e	U+0006
   78.52 +0x2f	U+0007
   78.53 +0x30	U+0090
   78.54 +0x31	U+0091
   78.55 +0x32	U+0016
   78.56 +0x33	U+0093
   78.57 +0x34	U+0094
   78.58 +0x35	U+0095
   78.59 +0x36	U+0096
   78.60 +0x37	U+0004
   78.61 +0x38	U+0098
   78.62 +0x39	U+0099
   78.63 +0x3a	U+009a
   78.64 +0x3b	U+009b
   78.65 +0x3c	U+0014
   78.66 +0x3d	U+0015
   78.67 +0x3e	U+009e
   78.68 +0x3f	U+001a
   78.69 +0x40	U+0020
   78.70 +0x41	U+05d0
   78.71 +0x42	U+05d1
   78.72 +0x43	U+05d2
   78.73 +0x44	U+05d3
   78.74 +0x45	U+05d4
   78.75 +0x46	U+05d5
   78.76 +0x47	U+05d6
   78.77 +0x48	U+05d7
   78.78 +0x49	U+05d8
   78.79 +0x4a	U+00a2
   78.80 +0x4b	U+002e
   78.81 +0x4c	U+003c
   78.82 +0x4d	U+0028
   78.83 +0x4e	U+002b
   78.84 +0x4f	U+007c
   78.85 +0x50	U+0026
   78.86 +0x51	U+05d9
   78.87 +0x52	U+05da
   78.88 +0x53	U+05db
   78.89 +0x54	U+05dc
   78.90 +0x55	U+05dd
   78.91 +0x56	U+05de
   78.92 +0x57	U+05df
   78.93 +0x58	U+05e0
   78.94 +0x59	U+05e1
   78.95 +0x5a	U+0021
   78.96 +0x5b	U+0024
   78.97 +0x5c	U+002a
   78.98 +0x5d	U+0029
   78.99 +0x5e	U+003b
  78.100 +0x5f	U+00ac
  78.101 +0x60	U+002d
  78.102 +0x61	U+002f
  78.103 +0x62	U+05e2
  78.104 +0x63	U+05e3
  78.105 +0x64	U+05e4
  78.106 +0x65	U+05e5
  78.107 +0x66	U+05e6
  78.108 +0x67	U+05e7
  78.109 +0x68	U+05e8
  78.110 +0x69	U+05e9
  78.111 +0x6a	U+00a6
  78.112 +0x6b	U+002c
  78.113 +0x6c	U+0025
  78.114 +0x6d	U+005f
  78.115 +0x6e	U+003e
  78.116 +0x6f	U+003f
  78.117 +0x70	U+fffd
  78.118 +0x71	U+05ea
  78.119 +0x72	U+fffd
  78.120 +0x73	U+fffd
  78.121 +0x74	U+00a0
  78.122 +0x75	U+fffd
  78.123 +0x76	U+fffd
  78.124 +0x77	U+fffd
  78.125 +0x78	U+2017
  78.126 +0x79	U+0060
  78.127 +0x7a	U+003a
  78.128 +0x7b	U+0023
  78.129 +0x7c	U+0040
  78.130 +0x7d	U+0027
  78.131 +0x7e	U+003d
  78.132 +0x7f	U+0022
  78.133 +0x80	U+fffd
  78.134 +0x81	U+0061
  78.135 +0x82	U+0062
  78.136 +0x83	U+0063
  78.137 +0x84	U+0064
  78.138 +0x85	U+0065
  78.139 +0x86	U+0066
  78.140 +0x87	U+0067
  78.141 +0x88	U+0068
  78.142 +0x89	U+0069
  78.143 +0x8a	U+00ab
  78.144 +0x8b	U+00bb
  78.145 +0x8c	U+fffd
  78.146 +0x8d	U+fffd
  78.147 +0x8e	U+fffd
  78.148 +0x8f	U+00b1
  78.149 +0x90	U+00b0
  78.150 +0x91	U+006a
  78.151 +0x92	U+006b
  78.152 +0x93	U+006c
  78.153 +0x94	U+006d
  78.154 +0x95	U+006e
  78.155 +0x96	U+006f
  78.156 +0x97	U+0070
  78.157 +0x98	U+0071
  78.158 +0x99	U+0072
  78.159 +0x9a	U+fffd
  78.160 +0x9b	U+fffd
  78.161 +0x9c	U+fffd
  78.162 +0x9d	U+00b8
  78.163 +0x9e	U+fffd
  78.164 +0x9f	U+00a4
  78.165 +0xa0	U+00b5
  78.166 +0xa1	U+007e
  78.167 +0xa2	U+0073
  78.168 +0xa3	U+0074
  78.169 +0xa4	U+0075
  78.170 +0xa5	U+0076
  78.171 +0xa6	U+0077
  78.172 +0xa7	U+0078
  78.173 +0xa8	U+0079
  78.174 +0xa9	U+007a
  78.175 +0xaa	U+fffd
  78.176 +0xab	U+fffd
  78.177 +0xac	U+fffd
  78.178 +0xad	U+fffd
  78.179 +0xae	U+fffd
  78.180 +0xaf	U+00ae
  78.181 +0xb0	U+005e
  78.182 +0xb1	U+00a3
  78.183 +0xb2	U+00a5
  78.184 +0xb3	U+2022
  78.185 +0xb4	U+00a9
  78.186 +0xb5	U+00a7
  78.187 +0xb6	U+00b6
  78.188 +0xb7	U+00bc
  78.189 +0xb8	U+00bd
  78.190 +0xb9	U+00be
  78.191 +0xba	U+005b
  78.192 +0xbb	U+005d
  78.193 +0xbc	U+203e
  78.194 +0xbd	U+00a8
  78.195 +0xbe	U+00b4
  78.196 +0xbf	U+00d7
  78.197 +0xc0	U+007b
  78.198 +0xc1	U+0041
  78.199 +0xc2	U+0042
  78.200 +0xc3	U+0043
  78.201 +0xc4	U+0044
  78.202 +0xc5	U+0045
  78.203 +0xc6	U+0046
  78.204 +0xc7	U+0047
  78.205 +0xc8	U+0048
  78.206 +0xc9	U+0049
  78.207 +0xca	U+00ad
  78.208 +0xcb	U+fffd
  78.209 +0xcc	U+fffd
  78.210 +0xcd	U+fffd
  78.211 +0xce	U+fffd
  78.212 +0xcf	U+fffd
  78.213 +0xd0	U+007d
  78.214 +0xd1	U+004a
  78.215 +0xd2	U+004b
  78.216 +0xd3	U+004c
  78.217 +0xd4	U+004d
  78.218 +0xd5	U+004e
  78.219 +0xd6	U+004f
  78.220 +0xd7	U+0050
  78.221 +0xd8	U+0051
  78.222 +0xd9	U+0052
  78.223 +0xda	U+00b9
  78.224 +0xdb	U+fffd
  78.225 +0xdc	U+fffd
  78.226 +0xdd	U+fffd
  78.227 +0xde	U+fffd
  78.228 +0xdf	U+fffd
  78.229 +0xe0	U+005c
  78.230 +0xe1	U+00f7
  78.231 +0xe2	U+0053
  78.232 +0xe3	U+0054
  78.233 +0xe4	U+0055
  78.234 +0xe5	U+0056
  78.235 +0xe6	U+0057
  78.236 +0xe7	U+0058
  78.237 +0xe8	U+0059
  78.238 +0xe9	U+005a
  78.239 +0xea	U+00b2
  78.240 +0xeb	U+fffd
  78.241 +0xec	U+fffd
  78.242 +0xed	U+fffd
  78.243 +0xee	U+fffd
  78.244 +0xef	U+fffd
  78.245 +0xf0	U+0030
  78.246 +0xf1	U+0031
  78.247 +0xf2	U+0032
  78.248 +0xf3	U+0033
  78.249 +0xf4	U+0034
  78.250 +0xf5	U+0035
  78.251 +0xf6	U+0036
  78.252 +0xf7	U+0037
  78.253 +0xf8	U+0038
  78.254 +0xf9	U+0039
  78.255 +0xfa	U+00b3
  78.256 +0xfb	U+fffd
  78.257 +0xfc	U+fffd
  78.258 +0xfd	U+fffd
  78.259 +0xfe	U+fffd
  78.260 +0xff	U+009f
    79.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    79.2 +++ b/make/tools/CharsetMapping/IBM424.nr	Tue Jan 20 09:42:07 2009 -0800
    79.3 @@ -0,0 +1,1 @@
    79.4 +0x25	U+000a
    80.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    80.2 +++ b/make/tools/CharsetMapping/IBM437.map	Tue Jan 20 09:42:07 2009 -0800
    80.3 @@ -0,0 +1,257 @@
    80.4 +#Generated from IBM437.java
    80.5 +0x00	U+0000
    80.6 +0x01	U+0001
    80.7 +0x02	U+0002
    80.8 +0x03	U+0003
    80.9 +0x04	U+0004
   80.10 +0x05	U+0005
   80.11 +0x06	U+0006
   80.12 +0x07	U+0007
   80.13 +0x08	U+0008
   80.14 +0x09	U+0009
   80.15 +0x0a	U+000a
   80.16 +0x0b	U+000b
   80.17 +0x0c	U+000c
   80.18 +0x0d	U+000d
   80.19 +0x0e	U+000e
   80.20 +0x0f	U+000f
   80.21 +0x10	U+0010
   80.22 +0x11	U+0011
   80.23 +0x12	U+0012
   80.24 +0x13	U+0013
   80.25 +0x14	U+0014
   80.26 +0x15	U+0015
   80.27 +0x16	U+0016
   80.28 +0x17	U+0017
   80.29 +0x18	U+0018
   80.30 +0x19	U+0019
   80.31 +0x1a	U+001a
   80.32 +0x1b	U+001b
   80.33 +0x1c	U+001c
   80.34 +0x1d	U+001d
   80.35 +0x1e	U+001e
   80.36 +0x1f	U+001f
   80.37 +0x20	U+0020
   80.38 +0x21	U+0021
   80.39 +0x22	U+0022
   80.40 +0x23	U+0023
   80.41 +0x24	U+0024
   80.42 +0x25	U+0025
   80.43 +0x26	U+0026
   80.44 +0x27	U+0027
   80.45 +0x28	U+0028
   80.46 +0x29	U+0029
   80.47 +0x2a	U+002a
   80.48 +0x2b	U+002b
   80.49 +0x2c	U+002c
   80.50 +0x2d	U+002d
   80.51 +0x2e	U+002e
   80.52 +0x2f	U+002f
   80.53 +0x30	U+0030
   80.54 +0x31	U+0031
   80.55 +0x32	U+0032
   80.56 +0x33	U+0033
   80.57 +0x34	U+0034
   80.58 +0x35	U+0035
   80.59 +0x36	U+0036
   80.60 +0x37	U+0037
   80.61 +0x38	U+0038
   80.62 +0x39	U+0039
   80.63 +0x3a	U+003a
   80.64 +0x3b	U+003b
   80.65 +0x3c	U+003c
   80.66 +0x3d	U+003d
   80.67 +0x3e	U+003e
   80.68 +0x3f	U+003f
   80.69 +0x40	U+0040
   80.70 +0x41	U+0041
   80.71 +0x42	U+0042
   80.72 +0x43	U+0043
   80.73 +0x44	U+0044
   80.74 +0x45	U+0045
   80.75 +0x46	U+0046
   80.76 +0x47	U+0047
   80.77 +0x48	U+0048
   80.78 +0x49	U+0049
   80.79 +0x4a	U+004a
   80.80 +0x4b	U+004b
   80.81 +0x4c	U+004c
   80.82 +0x4d	U+004d
   80.83 +0x4e	U+004e
   80.84 +0x4f	U+004f
   80.85 +0x50	U+0050
   80.86 +0x51	U+0051
   80.87 +0x52	U+0052
   80.88 +0x53	U+0053
   80.89 +0x54	U+0054
   80.90 +0x55	U+0055
   80.91 +0x56	U+0056
   80.92 +0x57	U+0057
   80.93 +0x58	U+0058
   80.94 +0x59	U+0059
   80.95 +0x5a	U+005a
   80.96 +0x5b	U+005b
   80.97 +0x5c	U+005c
   80.98 +0x5d	U+005d
   80.99 +0x5e	U+005e
  80.100 +0x5f	U+005f
  80.101 +0x60	U+0060
  80.102 +0x61	U+0061
  80.103 +0x62	U+0062
  80.104 +0x63	U+0063
  80.105 +0x64	U+0064
  80.106 +0x65	U+0065
  80.107 +0x66	U+0066
  80.108 +0x67	U+0067
  80.109 +0x68	U+0068
  80.110 +0x69	U+0069
  80.111 +0x6a	U+006a
  80.112 +0x6b	U+006b
  80.113 +0x6c	U+006c
  80.114 +0x6d	U+006d
  80.115 +0x6e	U+006e
  80.116 +0x6f	U+006f
  80.117 +0x70	U+0070
  80.118 +0x71	U+0071
  80.119 +0x72	U+0072
  80.120 +0x73	U+0073
  80.121 +0x74	U+0074
  80.122 +0x75	U+0075
  80.123 +0x76	U+0076
  80.124 +0x77	U+0077
  80.125 +0x78	U+0078
  80.126 +0x79	U+0079
  80.127 +0x7a	U+007a
  80.128 +0x7b	U+007b
  80.129 +0x7c	U+007c
  80.130 +0x7d	U+007d
  80.131 +0x7e	U+007e
  80.132 +0x7f	U+007f
  80.133 +0x80	U+00c7
  80.134 +0x81	U+00fc
  80.135 +0x82	U+00e9
  80.136 +0x83	U+00e2
  80.137 +0x84	U+00e4
  80.138 +0x85	U+00e0
  80.139 +0x86	U+00e5
  80.140 +0x87	U+00e7
  80.141 +0x88	U+00ea
  80.142 +0x89	U+00eb
  80.143 +0x8a	U+00e8
  80.144 +0x8b	U+00ef
  80.145 +0x8c	U+00ee
  80.146 +0x8d	U+00ec
  80.147 +0x8e	U+00c4
  80.148 +0x8f	U+00c5
  80.149 +0x90	U+00c9
  80.150 +0x91	U+00e6
  80.151 +0x92	U+00c6
  80.152 +0x93	U+00f4
  80.153 +0x94	U+00f6
  80.154 +0x95	U+00f2
  80.155 +0x96	U+00fb
  80.156 +0x97	U+00f9
  80.157 +0x98	U+00ff
  80.158 +0x99	U+00d6
  80.159 +0x9a	U+00dc
  80.160 +0x9b	U+00a2
  80.161 +0x9c	U+00a3
  80.162 +0x9d	U+00a5
  80.163 +0x9e	U+20a7
  80.164 +0x9f	U+0192
  80.165 +0xa0	U+00e1
  80.166 +0xa1	U+00ed
  80.167 +0xa2	U+00f3
  80.168 +0xa3	U+00fa
  80.169 +0xa4	U+00f1
  80.170 +0xa5	U+00d1
  80.171 +0xa6	U+00aa
  80.172 +0xa7	U+00ba
  80.173 +0xa8	U+00bf
  80.174 +0xa9	U+2310
  80.175 +0xaa	U+00ac
  80.176 +0xab	U+00bd
  80.177 +0xac	U+00bc
  80.178 +0xad	U+00a1
  80.179 +0xae	U+00ab
  80.180 +0xaf	U+00bb
  80.181 +0xb0	U+2591
  80.182 +0xb1	U+2592
  80.183 +0xb2	U+2593
  80.184 +0xb3	U+2502
  80.185 +0xb4	U+2524
  80.186 +0xb5	U+2561
  80.187 +0xb6	U+2562
  80.188 +0xb7	U+2556
  80.189 +0xb8	U+2555
  80.190 +0xb9	U+2563
  80.191 +0xba	U+2551
  80.192 +0xbb	U+2557
  80.193 +0xbc	U+255d
  80.194 +0xbd	U+255c
  80.195 +0xbe	U+255b
  80.196 +0xbf	U+2510
  80.197 +0xc0	U+2514
  80.198 +0xc1	U+2534
  80.199 +0xc2	U+252c
  80.200 +0xc3	U+251c
  80.201 +0xc4	U+2500
  80.202 +0xc5	U+253c
  80.203 +0xc6	U+255e
  80.204 +0xc7	U+255f
  80.205 +0xc8	U+255a
  80.206 +0xc9	U+2554
  80.207 +0xca	U+2569
  80.208 +0xcb	U+2566
  80.209 +0xcc	U+2560
  80.210 +0xcd	U+2550
  80.211 +0xce	U+256c
  80.212 +0xcf	U+2567
  80.213 +0xd0	U+2568
  80.214 +0xd1	U+2564
  80.215 +0xd2	U+2565
  80.216 +0xd3	U+2559
  80.217 +0xd4	U+2558
  80.218 +0xd5	U+2552
  80.219 +0xd6	U+2553
  80.220 +0xd7	U+256b
  80.221 +0xd8	U+256a
  80.222 +0xd9	U+2518
  80.223 +0xda	U+250c
  80.224 +0xdb	U+2588
  80.225 +0xdc	U+2584
  80.226 +0xdd	U+258c
  80.227 +0xde	U+2590
  80.228 +0xdf	U+2580
  80.229 +0xe0	U+03b1
  80.230 +0xe1	U+00df
  80.231 +0xe2	U+0393
  80.232 +0xe3	U+03c0
  80.233 +0xe4	U+03a3
  80.234 +0xe5	U+03c3
  80.235 +0xe6	U+00b5
  80.236 +0xe7	U+03c4
  80.237 +0xe8	U+03a6
  80.238 +0xe9	U+0398
  80.239 +0xea	U+03a9
  80.240 +0xeb	U+03b4
  80.241 +0xec	U+221e
  80.242 +0xed	U+03c6
  80.243 +0xee	U+03b5
  80.244 +0xef	U+2229
  80.245 +0xf0	U+2261
  80.246 +0xf1	U+00b1
  80.247 +0xf2	U+2265
  80.248 +0xf3	U+2264
  80.249 +0xf4	U+2320
  80.250 +0xf5	U+2321
  80.251 +0xf6	U+00f7
  80.252 +0xf7	U+2248
  80.253 +0xf8	U+00b0
  80.254 +0xf9	U+2219
  80.255 +0xfa	U+00b7
  80.256 +0xfb	U+221a
  80.257 +0xfc	U+207f
  80.258 +0xfd	U+00b2
  80.259 +0xfe	U+25a0
  80.260 +0xff	U+00a0
    81.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    81.2 +++ b/make/tools/CharsetMapping/IBM500.c2b	Tue Jan 20 09:42:07 2009 -0800
    81.3 @@ -0,0 +1,1 @@
    81.4 +0x15	U+0085
    82.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    82.2 +++ b/make/tools/CharsetMapping/IBM500.map	Tue Jan 20 09:42:07 2009 -0800
    82.3 @@ -0,0 +1,257 @@
    82.4 +#Generated from IBM500.java
    82.5 +0x00	U+0000
    82.6 +0x01	U+0001
    82.7 +0x02	U+0002
    82.8 +0x03	U+0003
    82.9 +0x04	U+009c
   82.10 +0x05	U+0009
   82.11 +0x06	U+0086
   82.12 +0x07	U+007f
   82.13 +0x08	U+0097
   82.14 +0x09	U+008d
   82.15 +0x0a	U+008e
   82.16 +0x0b	U+000b
   82.17 +0x0c	U+000c
   82.18 +0x0d	U+000d
   82.19 +0x0e	U+000e
   82.20 +0x0f	U+000f
   82.21 +0x10	U+0010
   82.22 +0x11	U+0011
   82.23 +0x12	U+0012
   82.24 +0x13	U+0013
   82.25 +0x14	U+009d
   82.26 +0x15	U+000a
   82.27 +0x16	U+0008
   82.28 +0x17	U+0087
   82.29 +0x18	U+0018
   82.30 +0x19	U+0019
   82.31 +0x1a	U+0092
   82.32 +0x1b	U+008f
   82.33 +0x1c	U+001c
   82.34 +0x1d	U+001d
   82.35 +0x1e	U+001e
   82.36 +0x1f	U+001f
   82.37 +0x20	U+0080
   82.38 +0x21	U+0081
   82.39 +0x22	U+0082
   82.40 +0x23	U+0083
   82.41 +0x24	U+0084
   82.42 +0x25	U+000a
   82.43 +0x26	U+0017
   82.44 +0x27	U+001b
   82.45 +0x28	U+0088
   82.46 +0x29	U+0089
   82.47 +0x2a	U+008a
   82.48 +0x2b	U+008b
   82.49 +0x2c	U+008c
   82.50 +0x2d	U+0005
   82.51 +0x2e	U+0006
   82.52 +0x2f	U+0007
   82.53 +0x30	U+0090
   82.54 +0x31	U+0091
   82.55 +0x32	U+0016
   82.56 +0x33	U+0093
   82.57 +0x34	U+0094
   82.58 +0x35	U+0095
   82.59 +0x36	U+0096
   82.60 +0x37	U+0004
   82.61 +0x38	U+0098
   82.62 +0x39	U+0099
   82.63 +0x3a	U+009a
   82.64 +0x3b	U+009b
   82.65 +0x3c	U+0014
   82.66 +0x3d	U+0015
   82.67 +0x3e	U+009e
   82.68 +0x3f	U+001a
   82.69 +0x40	U+0020
   82.70 +0x41	U+00a0
   82.71 +0x42	U+00e2
   82.72 +0x43	U+00e4
   82.73 +0x44	U+00e0
   82.74 +0x45	U+00e1
   82.75 +0x46	U+00e3
   82.76 +0x47	U+00e5
   82.77 +0x48	U+00e7
   82.78 +0x49	U+00f1
   82.79 +0x4a	U+005b
   82.80 +0x4b	U+002e
   82.81 +0x4c	U+003c
   82.82 +0x4d	U+0028
   82.83 +0x4e	U+002b
   82.84 +0x4f	U+0021
   82.85 +0x50	U+0026
   82.86 +0x51	U+00e9
   82.87 +0x52	U+00ea
   82.88 +0x53	U+00eb
   82.89 +0x54	U+00e8
   82.90 +0x55	U+00ed
   82.91 +0x56	U+00ee
   82.92 +0x57	U+00ef
   82.93 +0x58	U+00ec
   82.94 +0x59	U+00df
   82.95 +0x5a	U+005d
   82.96 +0x5b	U+0024
   82.97 +0x5c	U+002a
   82.98 +0x5d	U+0029
   82.99 +0x5e	U+003b
  82.100 +0x5f	U+005e
  82.101 +0x60	U+002d
  82.102 +0x61	U+002f
  82.103 +0x62	U+00c2
  82.104 +0x63	U+00c4
  82.105 +0x64	U+00c0
  82.106 +0x65	U+00c1
  82.107 +0x66	U+00c3
  82.108 +0x67	U+00c5
  82.109 +0x68	U+00c7
  82.110 +0x69	U+00d1
  82.111 +0x6a	U+00a6
  82.112 +0x6b	U+002c
  82.113 +0x6c	U+0025
  82.114 +0x6d	U+005f
  82.115 +0x6e	U+003e
  82.116 +0x6f	U+003f
  82.117 +0x70	U+00f8
  82.118 +0x71	U+00c9
  82.119 +0x72	U+00ca
  82.120 +0x73	U+00cb
  82.121 +0x74	U+00c8
  82.122 +0x75	U+00cd
  82.123 +0x76	U+00ce
  82.124 +0x77	U+00cf
  82.125 +0x78	U+00cc
  82.126 +0x79	U+0060
  82.127 +0x7a	U+003a
  82.128 +0x7b	U+0023
  82.129 +0x7c	U+0040
  82.130 +0x7d	U+0027
  82.131 +0x7e	U+003d
  82.132 +0x7f	U+0022
  82.133 +0x80	U+00d8
  82.134 +0x81	U+0061
  82.135 +0x82	U+0062
  82.136 +0x83	U+0063
  82.137 +0x84	U+0064
  82.138 +0x85	U+0065
  82.139 +0x86	U+0066
  82.140 +0x87	U+0067
  82.141 +0x88	U+0068
  82.142 +0x89	U+0069
  82.143 +0x8a	U+00ab
  82.144 +0x8b	U+00bb
  82.145 +0x8c	U+00f0
  82.146 +0x8d	U+00fd
  82.147 +0x8e	U+00fe
  82.148 +0x8f	U+00b1
  82.149 +0x90	U+00b0
  82.150 +0x91	U+006a
  82.151 +0x92	U+006b
  82.152 +0x93	U+006c
  82.153 +0x94	U+006d
  82.154 +0x95	U+006e
  82.155 +0x96	U+006f
  82.156 +0x97	U+0070
  82.157 +0x98	U+0071
  82.158 +0x99	U+0072
  82.159 +0x9a	U+00aa
  82.160 +0x9b	U+00ba
  82.161 +0x9c	U+00e6
  82.162 +0x9d	U+00b8
  82.163 +0x9e	U+00c6
  82.164 +0x9f	U+00a4
  82.165 +0xa0	U+00b5
  82.166 +0xa1	U+007e
  82.167 +0xa2	U+0073
  82.168 +0xa3	U+0074
  82.169 +0xa4	U+0075
  82.170 +0xa5	U+0076
  82.171 +0xa6	U+0077
  82.172 +0xa7	U+0078
  82.173 +0xa8	U+0079
  82.174 +0xa9	U+007a
  82.175 +0xaa	U+00a1
  82.176 +0xab	U+00bf
  82.177 +0xac	U+00d0
  82.178 +0xad	U+00dd
  82.179 +0xae	U+00de
  82.180 +0xaf	U+00ae
  82.181 +0xb0	U+00a2
  82.182 +0xb1	U+00a3
  82.183 +0xb2	U+00a5
  82.184 +0xb3	U+00b7
  82.185 +0xb4	U+00a9
  82.186 +0xb5	U+00a7
  82.187 +0xb6	U+00b6
  82.188 +0xb7	U+00bc
  82.189 +0xb8	U+00bd
  82.190 +0xb9	U+00be
  82.191 +0xba	U+00ac
  82.192 +0xbb	U+007c
  82.193 +0xbc	U+00af
  82.194 +0xbd	U+00a8
  82.195 +0xbe	U+00b4
  82.196 +0xbf	U+00d7
  82.197 +0xc0	U+007b
  82.198 +0xc1	U+0041
  82.199 +0xc2	U+0042
  82.200 +0xc3	U+0043
  82.201 +0xc4	U+0044
  82.202 +0xc5	U+0045
  82.203 +0xc6	U+0046
  82.204 +0xc7	U+0047
  82.205 +0xc8	U+0048
  82.206 +0xc9	U+0049
  82.207 +0xca	U+00ad
  82.208 +0xcb	U+00f4
  82.209 +0xcc	U+00f6
  82.210 +0xcd	U+00f2
  82.211 +0xce	U+00f3
  82.212 +0xcf	U+00f5
  82.213 +0xd0	U+007d
  82.214 +0xd1	U+004a
  82.215 +0xd2	U+004b
  82.216 +0xd3	U+004c
  82.217 +0xd4	U+004d
  82.218 +0xd5	U+004e
  82.219 +0xd6	U+004f
  82.220 +0xd7	U+0050
  82.221 +0xd8	U+0051
  82.222 +0xd9	U+0052
  82.223 +0xda	U+00b9
  82.224 +0xdb	U+00fb
  82.225 +0xdc	U+00fc
  82.226 +0xdd	U+00f9
  82.227 +0xde	U+00fa
  82.228 +0xdf	U+00ff
  82.229 +0xe0	U+005c
  82.230 +0xe1	U+00f7
  82.231 +0xe2	U+0053
  82.232 +0xe3	U+0054
  82.233 +0xe4	U+0055
  82.234 +0xe5	U+0056
  82.235 +0xe6	U+0057
  82.236 +0xe7	U+0058
  82.237 +0xe8	U+0059
  82.238 +0xe9	U+005a
  82.239 +0xea	U+00b2
  82.240 +0xeb	U+00d4
  82.241 +0xec	U+00d6
  82.242 +0xed	U+00d2
  82.243 +0xee	U+00d3
  82.244 +0xef	U+00d5
  82.245 +0xf0	U+0030
  82.246 +0xf1	U+0031
  82.247 +0xf2	U+0032
  82.248 +0xf3	U+0033
  82.249 +0xf4	U+0034
  82.250 +0xf5	U+0035
  82.251 +0xf6	U+0036
  82.252 +0xf7	U+0037
  82.253 +0xf8	U+0038
  82.254 +0xf9	U+0039
  82.255 +0xfa	U+00b3
  82.256 +0xfb	U+00db
  82.257 +0xfc	U+00dc
  82.258 +0xfd	U+00d9
  82.259 +0xfe	U+00da
  82.260 +0xff	U+009f
    83.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    83.2 +++ b/make/tools/CharsetMapping/IBM500.nr	Tue Jan 20 09:42:07 2009 -0800
    83.3 @@ -0,0 +1,1 @@
    83.4 +0x25	U+000a
    84.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    84.2 +++ b/make/tools/CharsetMapping/IBM737.map	Tue Jan 20 09:42:07 2009 -0800
    84.3 @@ -0,0 +1,257 @@
    84.4 +#Generated from IBM737.java
    84.5 +0x00	U+0000
    84.6 +0x01	U+0001
    84.7 +0x02	U+0002
    84.8 +0x03	U+0003
    84.9 +0x04	U+0004
   84.10 +0x05	U+0005
   84.11 +0x06	U+0006
   84.12 +0x07	U+0007
   84.13 +0x08	U+0008
   84.14 +0x09	U+0009
   84.15 +0x0a	U+000a
   84.16 +0x0b	U+000b
   84.17 +0x0c	U+000c
   84.18 +0x0d	U+000d
   84.19 +0x0e	U+000e
   84.20 +0x0f	U+000f
   84.21 +0x10	U+0010
   84.22 +0x11	U+0011
   84.23 +0x12	U+0012
   84.24 +0x13	U+0013
   84.25 +0x14	U+0014
   84.26 +0x15	U+0015
   84.27 +0x16	U+0016
   84.28 +0x17	U+0017
   84.29 +0x18	U+0018
   84.30 +0x19	U+0019
   84.31 +0x1a	U+001a
   84.32 +0x1b	U+001b
   84.33 +0x1c	U+001c
   84.34 +0x1d	U+001d
   84.35 +0x1e	U+001e
   84.36 +0x1f	U+001f
   84.37 +0x20	U+0020
   84.38 +0x21	U+0021
   84.39 +0x22	U+0022
   84.40 +0x23	U+0023
   84.41 +0x24	U+0024
   84.42 +0x25	U+0025
   84.43 +0x26	U+0026
   84.44 +0x27	U+0027
   84.45 +0x28	U+0028
   84.46 +0x29	U+0029
   84.47 +0x2a	U+002a
   84.48 +0x2b	U+002b
   84.49 +0x2c	U+002c
   84.50 +0x2d	U+002d
   84.51 +0x2e	U+002e
   84.52 +0x2f	U+002f
   84.53 +0x30	U+0030
   84.54 +0x31	U+0031
   84.55 +0x32	U+0032
   84.56 +0x33	U+0033
   84.57 +0x34	U+0034
   84.58 +0x35	U+0035
   84.59 +0x36	U+0036
   84.60 +0x37	U+0037
   84.61 +0x38	U+0038
   84.62 +0x39	U+0039
   84.63 +0x3a	U+003a
   84.64 +0x3b	U+003b
   84.65 +0x3c	U+003c
   84.66 +0x3d	U+003d
   84.67 +0x3e	U+003e
   84.68 +0x3f	U+003f
   84.69 +0x40	U+0040
   84.70 +0x41	U+0041
   84.71 +0x42	U+0042
   84.72 +0x43	U+0043
   84.73 +0x44	U+0044
   84.74 +0x45	U+0045
   84.75 +0x46	U+0046
   84.76 +0x47	U+0047
   84.77 +0x48	U+0048
   84.78 +0x49	U+0049
   84.79 +0x4a	U+004a
   84.80 +0x4b	U+004b
   84.81 +0x4c	U+004c
   84.82 +0x4d	U+004d
   84.83 +0x4e	U+004e
   84.84 +0x4f	U+004f
   84.85 +0x50	U+0050
   84.86 +0x51	U+0051
   84.87 +0x52	U+0052
   84.88 +0x53	U+0053
   84.89 +0x54	U+0054
   84.90 +0x55	U+0055
   84.91 +0x56	U+0056
   84.92 +0x57	U+0057
   84.93 +0x58	U+0058
   84.94 +0x59	U+0059
   84.95 +0x5a	U+005a
   84.96 +0x5b	U+005b
   84.97 +0x5c	U+005c
   84.98 +0x5d	U+005d
   84.99 +0x5e	U+005e
  84.100 +0x5f	U+005f
  84.101 +0x60	U+0060
  84.102 +0x61	U+0061
  84.103 +0x62	U+0062
  84.104 +0x63	U+0063
  84.105 +0x64	U+0064
  84.106 +0x65	U+0065
  84.107 +0x66	U+0066
  84.108 +0x67	U+0067
  84.109 +0x68	U+0068
  84.110 +0x69	U+0069
  84.111 +0x6a	U+006a
  84.112 +0x6b	U+006b
  84.113 +0x6c	U+006c
  84.114 +0x6d	U+006d
  84.115 +0x6e	U+006e
  84.116 +0x6f	U+006f
  84.117 +0x70	U+0070
  84.118 +0x71	U+0071
  84.119 +0x72	U+0072
  84.120 +0x73	U+0073
  84.121 +0x74	U+0074
  84.122 +0x75	U+0075
  84.123 +0x76	U+0076
  84.124 +0x77	U+0077
  84.125 +0x78	U+0078
  84.126 +0x79	U+0079
  84.127 +0x7a	U+007a
  84.128 +0x7b	U+007b
  84.129 +0x7c	U+007c
  84.130 +0x7d	U+007d
  84.131 +0x7e	U+007e
  84.132 +0x7f	U+007f
  84.133 +0x80	U+0391
  84.134 +0x81	U+0392
  84.135 +0x82	U+0393
  84.136 +0x83	U+0394
  84.137 +0x84	U+0395
  84.138 +0x85	U+0396
  84.139 +0x86	U+0397
  84.140 +0x87	U+0398
  84.141 +0x88	U+0399
  84.142 +0x89	U+039a
  84.143 +0x8a	U+039b
  84.144 +0x8b	U+039c
  84.145 +0x8c	U+039d
  84.146 +0x8d	U+039e
  84.147 +0x8e	U+039f
  84.148 +0x8f	U+03a0
  84.149 +0x90	U+03a1
  84.150 +0x91	U+03a3
  84.151 +0x92	U+03a4
  84.152 +0x93	U+03a5
  84.153 +0x94	U+03a6
  84.154 +0x95	U+03a7
  84.155 +0x96	U+03a8
  84.156 +0x97	U+03a9
  84.157 +0x98	U+03b1
  84.158 +0x99	U+03b2
  84.159 +0x9a	U+03b3
  84.160 +0x9b	U+03b4
  84.161 +0x9c	U+03b5
  84.162 +0x9d	U+03b6
  84.163 +0x9e	U+03b7
  84.164 +0x9f	U+03b8
  84.165 +0xa0	U+03b9
  84.166 +0xa1	U+03ba
  84.167 +0xa2	U+03bb
  84.168 +0xa3	U+03bc
  84.169 +0xa4	U+03bd
  84.170 +0xa5	U+03be
  84.171 +0xa6	U+03bf
  84.172 +0xa7	U+03c0
  84.173 +0xa8	U+03c1
  84.174 +0xa9	U+03c3
  84.175 +0xaa	U+03c2
  84.176 +0xab	U+03c4
  84.177 +0xac	U+03c5
  84.178 +0xad	U+03c6
  84.179 +0xae	U+03c7
  84.180 +0xaf	U+03c8
  84.181 +0xb0	U+2591
  84.182 +0xb1	U+2592
  84.183 +0xb2	U+2593
  84.184 +0xb3	U+2502
  84.185 +0xb4	U+2524
  84.186 +0xb5	U+2561
  84.187 +0xb6	U+2562
  84.188 +0xb7	U+2556
  84.189 +0xb8	U+2555
  84.190 +0xb9	U+2563
  84.191 +0xba	U+2551
  84.192 +0xbb	U+2557
  84.193 +0xbc	U+255d
  84.194 +0xbd	U+255c
  84.195 +0xbe	U+255b
  84.196 +0xbf	U+2510
  84.197 +0xc0	U+2514
  84.198 +0xc1	U+2534
  84.199 +0xc2	U+252c
  84.200 +0xc3	U+251c
  84.201 +0xc4	U+2500
  84.202 +0xc5	U+253c
  84.203 +0xc6	U+255e
  84.204 +0xc7	U+255f
  84.205 +0xc8	U+255a
  84.206 +0xc9	U+2554
  84.207 +0xca	U+2569
  84.208 +0xcb	U+2566
  84.209 +0xcc	U+2560
  84.210 +0xcd	U+2550
  84.211 +0xce	U+256c
  84.212 +0xcf	U+2567
  84.213 +0xd0	U+2568
  84.214 +0xd1	U+2564
  84.215 +0xd2	U+2565
  84.216 +0xd3	U+2559
  84.217 +0xd4	U+2558
  84.218 +0xd5	U+2552
  84.219 +0xd6	U+2553
  84.220 +0xd7	U+256b
  84.221 +0xd8	U+256a
  84.222 +0xd9	U+2518
  84.223 +0xda	U+250c
  84.224 +0xdb	U+2588
  84.225 +0xdc	U+2584
  84.226 +0xdd	U+258c
  84.227 +0xde	U+2590
  84.228 +0xdf	U+2580
  84.229 +0xe0	U+03c9
  84.230 +0xe1	U+03ac
  84.231 +0xe2	U+03ad
  84.232 +0xe3	U+03ae
  84.233 +0xe4	U+03ca
  84.234 +0xe5	U+03af
  84.235 +0xe6	U+03cc
  84.236 +0xe7	U+03cd
  84.237 +0xe8	U+03cb
  84.238 +0xe9	U+03ce
  84.239 +0xea	U+0386
  84.240 +0xeb	U+0388
  84.241 +0xec	U+0389
  84.242 +0xed	U+038a
  84.243 +0xee	U+038c
  84.244 +0xef	U+038e
  84.245 +0xf0	U+038f
  84.246 +0xf1	U+00b1
  84.247 +0xf2	U+2265
  84.248 +0xf3	U+2264
  84.249 +0xf4	U+03aa
  84.250 +0xf5	U+03ab
  84.251 +0xf6	U+00f7
  84.252 +0xf7	U+2248
  84.253 +0xf8	U+00b0
  84.254 +0xf9	U+2219
  84.255 +0xfa	U+00b7
  84.256 +0xfb	U+221a
  84.257 +0xfc	U+207f
  84.258 +0xfd	U+00b2
  84.259 +0xfe	U+25a0
  84.260 +0xff	U+00a0
    85.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    85.2 +++ b/make/tools/CharsetMapping/IBM775.map	Tue Jan 20 09:42:07 2009 -0800
    85.3 @@ -0,0 +1,257 @@
    85.4 +#Generated from IBM775.java
    85.5 +0x00	U+0000
    85.6 +0x01	U+0001
    85.7 +0x02	U+0002
    85.8 +0x03	U+0003
    85.9 +0x04	U+0004
   85.10 +0x05	U+0005
   85.11 +0x06	U+0006
   85.12 +0x07	U+0007
   85.13 +0x08	U+0008
   85.14 +0x09	U+0009
   85.15 +0x0a	U+000a
   85.16 +0x0b	U+000b
   85.17 +0x0c	U+000c
   85.18 +0x0d	U+000d
   85.19 +0x0e	U+000e
   85.20 +0x0f	U+000f
   85.21 +0x10	U+0010
   85.22 +0x11	U+0011
   85.23 +0x12	U+0012
   85.24 +0x13	U+0013
   85.25 +0x14	U+0014
   85.26 +0x15	U+0015
   85.27 +0x16	U+0016
   85.28 +0x17	U+0017
   85.29 +0x18	U+0018
   85.30 +0x19	U+0019
   85.31 +0x1a	U+001a
   85.32 +0x1b	U+001b
   85.33 +0x1c	U+001c
   85.34 +0x1d	U+001d
   85.35 +0x1e	U+001e
   85.36 +0x1f	U+001f
   85.37 +0x20	U+0020
   85.38 +0x21	U+0021
   85.39 +0x22	U+0022
   85.40 +0x23	U+0023
   85.41 +0x24	U+0024
   85.42 +0x25	U+0025
   85.43 +0x26	U+0026
   85.44 +0x27	U+0027
   85.45 +0x28	U+0028
   85.46 +0x29	U+0029
   85.47 +0x2a	U+002a
   85.48 +0x2b	U+002b
   85.49 +0x2c	U+002c
   85.50 +0x2d	U+002d
   85.51 +0x2e	U+002e
   85.52 +0x2f	U+002f
   85.53 +0x30	U+0030
   85.54 +0x31	U+0031
   85.55 +0x32	U+0032
   85.56 +0x33	U+0033
   85.57 +0x34	U+0034
   85.58 +0x35	U+0035
   85.59 +0x36	U+0036
   85.60 +0x37	U+0037
   85.61 +0x38	U+0038
   85.62 +0x39	U+0039
   85.63 +0x3a	U+003a
   85.64 +0x3b	U+003b
   85.65 +0x3c	U+003c
   85.66 +0x3d	U+003d
   85.67 +0x3e	U+003e
   85.68 +0x3f	U+003f
   85.69 +0x40	U+0040
   85.70 +0x41	U+0041
   85.71 +0x42	U+0042
   85.72 +0x43	U+0043
   85.73 +0x44	U+0044
   85.74 +0x45	U+0045
   85.75 +0x46	U+0046
   85.76 +0x47	U+0047
   85.77 +0x48	U+0048
   85.78 +0x49	U+0049
   85.79 +0x4a	U+004a
   85.80 +0x4b	U+004b
   85.81 +0x4c	U+004c
   85.82 +0x4d	U+004d
   85.83 +0x4e	U+004e
   85.84 +0x4f	U+004f
   85.85 +0x50	U+0050
   85.86 +0x51	U+0051
   85.87 +0x52	U+0052
   85.88 +0x53	U+0053
   85.89 +0x54	U+0054
   85.90 +0x55	U+0055
   85.91 +0x56	U+0056
   85.92 +0x57	U+0057
   85.93 +0x58	U+0058
   85.94 +0x59	U+0059
   85.95 +0x5a	U+005a
   85.96 +0x5b	U+005b
   85.97 +0x5c	U+005c
   85.98 +0x5d	U+005d
   85.99 +0x5e	U+005e
  85.100 +0x5f	U+005f
  85.101 +0x60	U+0060
  85.102 +0x61	U+0061
  85.103 +0x62	U+0062
  85.104 +0x63	U+0063
  85.105 +0x64	U+0064
  85.106 +0x65	U+0065
  85.107 +0x66	U+0066
  85.108 +0x67	U+0067
  85.109 +0x68	U+0068
  85.110 +0x69	U+0069
  85.111 +0x6a	U+006a
  85.112 +0x6b	U+006b
  85.113 +0x6c	U+006c
  85.114 +0x6d	U+006d
  85.115 +0x6e	U+006e
  85.116 +0x6f	U+006f
  85.117 +0x70	U+0070
  85.118 +0x71	U+0071
  85.119 +0x72	U+0072
  85.120 +0x73	U+0073
  85.121 +0x74	U+0074
  85.122 +0x75	U+0075
  85.123 +0x76	U+0076
  85.124 +0x77	U+0077
  85.125 +0x78	U+0078
  85.126 +0x79	U+0079
  85.127 +0x7a	U+007a
  85.128 +0x7b	U+007b
  85.129 +0x7c	U+007c
  85.130 +0x7d	U+007d
  85.131 +0x7e	U+007e
  85.132 +0x7f	U+007f
  85.133 +0x80	U+0106
  85.134 +0x81	U+00fc
  85.135 +0x82	U+00e9
  85.136 +0x83	U+0101
  85.137 +0x84	U+00e4
  85.138 +0x85	U+0123
  85.139 +0x86	U+00e5
  85.140 +0x87	U+0107
  85.141 +0x88	U+0142
  85.142 +0x89	U+0113
  85.143 +0x8a	U+0156
  85.144 +0x8b	U+0157
  85.145 +0x8c	U+012b
  85.146 +0x8d	U+0179
  85.147 +0x8e	U+00c4
  85.148 +0x8f	U+00c5
  85.149 +0x90	U+00c9
  85.150 +0x91	U+00e6
  85.151 +0x92	U+00c6
  85.152 +0x93	U+014d
  85.153 +0x94	U+00f6
  85.154 +0x95	U+0122
  85.155 +0x96	U+00a2
  85.156 +0x97	U+015a
  85.157 +0x98	U+015b
  85.158 +0x99	U+00d6
  85.159 +0x9a	U+00dc
  85.160 +0x9b	U+00f8
  85.161 +0x9c	U+00a3
  85.162 +0x9d	U+00d8
  85.163 +0x9e	U+00d7
  85.164 +0x9f	U+00a4
  85.165 +0xa0	U+0100
  85.166 +0xa1	U+012a
  85.167 +0xa2	U+00f3
  85.168 +0xa3	U+017b
  85.169 +0xa4	U+017c
  85.170 +0xa5	U+017a
  85.171 +0xa6	U+201d
  85.172 +0xa7	U+00a6
  85.173 +0xa8	U+00a9
  85.174 +0xa9	U+00ae
  85.175 +0xaa	U+00ac
  85.176 +0xab	U+00bd
  85.177 +0xac	U+00bc
  85.178 +0xad	U+0141
  85.179 +0xae	U+00ab
  85.180 +0xaf	U+00bb
  85.181 +0xb0	U+2591
  85.182 +0xb1	U+2592
  85.183 +0xb2	U+2593
  85.184 +0xb3	U+2502
  85.185 +0xb4	U+2524
  85.186 +0xb5	U+0104
  85.187 +0xb6	U+010c
  85.188 +0xb7	U+0118
  85.189 +0xb8	U+0116
  85.190 +0xb9	U+2563
  85.191 +0xba	U+2551
  85.192 +0xbb	U+2557
  85.193 +0xbc	U+255d
  85.194 +0xbd	U+012e
  85.195 +0xbe	U+0160
  85.196 +0xbf	U+2510
  85.197 +0xc0	U+2514
  85.198 +0xc1	U+2534
  85.199 +0xc2	U+252c
  85.200 +0xc3	U+251c
  85.201 +0xc4	U+2500
  85.202 +0xc5	U+253c
  85.203 +0xc6	U+0172
  85.204 +0xc7	U+016a
  85.205 +0xc8	U+255a
  85.206 +0xc9	U+2554
  85.207 +0xca	U+2569
  85.208 +0xcb	U+2566
  85.209 +0xcc	U+2560
  85.210 +0xcd	U+2550
  85.211 +0xce	U+256c
  85.212 +0xcf	U+017d
  85.213 +0xd0	U+0105
  85.214 +0xd1	U+010d
  85.215 +0xd2	U+0119
  85.216 +0xd3	U+0117
  85.217 +0xd4	U+012f
  85.218 +0xd5	U+0161
  85.219 +0xd6	U+0173
  85.220 +0xd7	U+016b
  85.221 +0xd8	U+017e
  85.222 +0xd9	U+2518
  85.223 +0xda	U+250c
  85.224 +0xdb	U+2588
  85.225 +0xdc	U+2584
  85.226 +0xdd	U+258c
  85.227 +0xde	U+2590
  85.228 +0xdf	U+2580
  85.229 +0xe0	U+00d3
  85.230 +0xe1	U+00df
  85.231 +0xe2	U+014c
  85.232 +0xe3	U+0143
  85.233 +0xe4	U+00f5
  85.234 +0xe5	U+00d5
  85.235 +0xe6	U+00b5
  85.236 +0xe7	U+0144
  85.237 +0xe8	U+0136
  85.238 +0xe9	U+0137
  85.239 +0xea	U+013b
  85.240 +0xeb	U+013c
  85.241 +0xec	U+0146
  85.242 +0xed	U+0112
  85.243 +0xee	U+0145
  85.244 +0xef	U+2019
  85.245 +0xf0	U+00ad
  85.246 +0xf1	U+00b1
  85.247 +0xf2	U+201c
  85.248 +0xf3	U+00be
  85.249 +0xf4	U+00b6
  85.250 +0xf5	U+00a7
  85.251 +0xf6	U+00f7
  85.252 +0xf7	U+201e
  85.253 +0xf8	U+00b0
  85.254 +0xf9	U+2219
  85.255 +0xfa	U+00b7
  85.256 +0xfb	U+00b9
  85.257 +0xfc	U+00b3
  85.258 +0xfd	U+00b2
  85.259 +0xfe	U+25a0
  85.260 +0xff	U+00a0
    86.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    86.2 +++ b/make/tools/CharsetMapping/IBM838.c2b	Tue Jan 20 09:42:07 2009 -0800
    86.3 @@ -0,0 +1,1 @@
    86.4 +0x15	U+0085
    87.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    87.2 +++ b/make/tools/CharsetMapping/IBM838.map	Tue Jan 20 09:42:07 2009 -0800
    87.3 @@ -0,0 +1,257 @@
    87.4 +#Generated from IBM838.java
    87.5 +0x00	U+0000
    87.6 +0x01	U+0001
    87.7 +0x02	U+0002
    87.8 +0x03	U+0003
    87.9 +0x04	U+009c
   87.10 +0x05	U+0009
   87.11 +0x06	U+0086
   87.12 +0x07	U+007f
   87.13 +0x08	U+0097
   87.14 +0x09	U+008d
   87.15 +0x0a	U+008e
   87.16 +0x0b	U+000b
   87.17 +0x0c	U+000c
   87.18 +0x0d	U+000d
   87.19 +0x0e	U+000e
   87.20 +0x0f	U+000f
   87.21 +0x10	U+0010
   87.22 +0x11	U+0011
   87.23 +0x12	U+0012
   87.24 +0x13	U+0013
   87.25 +0x14	U+009d
   87.26 +0x15	U+000a
   87.27 +0x16	U+0008
   87.28 +0x17	U+0087
   87.29 +0x18	U+0018
   87.30 +0x19	U+0019
   87.31 +0x1a	U+0092
   87.32 +0x1b	U+008f
   87.33 +0x1c	U+001c
   87.34 +0x1d	U+001d
   87.35 +0x1e	U+001e
   87.36 +0x1f	U+001f
   87.37 +0x20	U+0080
   87.38 +0x21	U+0081
   87.39 +0x22	U+0082
   87.40 +0x23	U+0083
   87.41 +0x24	U+0084
   87.42 +0x25	U+000a
   87.43 +0x26	U+0017
   87.44 +0x27	U+001b
   87.45 +0x28	U+0088
   87.46 +0x29	U+0089
   87.47 +0x2a	U+008a
   87.48 +0x2b	U+008b
   87.49 +0x2c	U+008c
   87.50 +0x2d	U+0005
   87.51 +0x2e	U+0006
   87.52 +0x2f	U+0007
   87.53 +0x30	U+0090
   87.54 +0x31	U+0091
   87.55 +0x32	U+0016
   87.56 +0x33	U+0093
   87.57 +0x34	U+0094
   87.58 +0x35	U+0095
   87.59 +0x36	U+0096
   87.60 +0x37	U+0004
   87.61 +0x38	U+0098
   87.62 +0x39	U+0099
   87.63 +0x3a	U+009a
   87.64 +0x3b	U+009b
   87.65 +0x3c	U+0014
   87.66 +0x3d	U+0015
   87.67 +0x3e	U+009e
   87.68 +0x3f	U+001a
   87.69 +0x40	U+0020
   87.70 +0x41	U+00a0
   87.71 +0x42	U+0e01
   87.72 +0x43	U+0e02
   87.73 +0x44	U+0e03
   87.74 +0x45	U+0e04
   87.75 +0x46	U+0e05
   87.76 +0x47	U+0e06
   87.77 +0x48	U+0e07
   87.78 +0x49	U+005b
   87.79 +0x4a	U+00a2
   87.80 +0x4b	U+002e
   87.81 +0x4c	U+003c
   87.82 +0x4d	U+0028
   87.83 +0x4e	U+002b
   87.84 +0x4f	U+007c
   87.85 +0x50	U+0026
   87.86 +0x51	U+0e48
   87.87 +0x52	U+0e08
   87.88 +0x53	U+0e09
   87.89 +0x54	U+0e0a
   87.90 +0x55	U+0e0b
   87.91 +0x56	U+0e0c
   87.92 +0x57	U+0e0d
   87.93 +0x58	U+0e0e
   87.94 +0x59	U+005d
   87.95 +0x5a	U+0021
   87.96 +0x5b	U+0024
   87.97 +0x5c	U+002a
   87.98 +0x5d	U+0029
   87.99 +0x5e	U+003b
  87.100 +0x5f	U+00ac
  87.101 +0x60	U+002d
  87.102 +0x61	U+002f
  87.103 +0x62	U+0e0f
  87.104 +0x63	U+0e10
  87.105 +0x64	U+0e11
  87.106 +0x65	U+0e12
  87.107 +0x66	U+0e13
  87.108 +0x67	U+0e14
  87.109 +0x68	U+0e15
  87.110 +0x69	U+005e
  87.111 +0x6a	U+00a6
  87.112 +0x6b	U+002c
  87.113 +0x6c	U+0025
  87.114 +0x6d	U+005f
  87.115 +0x6e	U+003e
  87.116 +0x6f	U+003f
  87.117 +0x70	U+0e3f
  87.118 +0x71	U+0e4e
  87.119 +0x72	U+0e16
  87.120 +0x73	U+0e17
  87.121 +0x74	U+0e18
  87.122 +0x75	U+0e19
  87.123 +0x76	U+0e1a
  87.124 +0x77	U+0e1b
  87.125 +0x78	U+0e1c
  87.126 +0x79	U+0060
  87.127 +0x7a	U+003a
  87.128 +0x7b	U+0023
  87.129 +0x7c	U+0040
  87.130 +0x7d	U+0027
  87.131 +0x7e	U+003d
  87.132 +0x7f	U+0022
  87.133 +0x80	U+0e4f
  87.134 +0x81	U+0061
  87.135 +0x82	U+0062
  87.136 +0x83	U+0063
  87.137 +0x84	U+0064
  87.138 +0x85	U+0065
  87.139 +0x86	U+0066
  87.140 +0x87	U+0067
  87.141 +0x88	U+0068
  87.142 +0x89	U+0069
  87.143 +0x8a	U+0e1d
  87.144 +0x8b	U+0e1e
  87.145 +0x8c	U+0e1f
  87.146 +0x8d	U+0e20
  87.147 +0x8e	U+0e21
  87.148 +0x8f	U+0e22
  87.149 +0x90	U+0e5a
  87.150 +0x91	U+006a
  87.151 +0x92	U+006b
  87.152 +0x93	U+006c
  87.153 +0x94	U+006d
  87.154 +0x95	U+006e
  87.155 +0x96	U+006f
  87.156 +0x97	U+0070
  87.157 +0x98	U+0071
  87.158 +0x99	U+0072
  87.159 +0x9a	U+0e23
  87.160 +0x9b	U+0e24
  87.161 +0x9c	U+0e25
  87.162 +0x9d	U+0e26
  87.163 +0x9e	U+0e27
  87.164 +0x9f	U+0e28
  87.165 +0xa0	U+0e5b
  87.166 +0xa1	U+007e
  87.167 +0xa2	U+0073
  87.168 +0xa3	U+0074
  87.169 +0xa4	U+0075
  87.170 +0xa5	U+0076
  87.171 +0xa6	U+0077
  87.172 +0xa7	U+0078
  87.173 +0xa8	U+0079
  87.174 +0xa9	U+007a
  87.175 +0xaa	U+0e29
  87.176 +0xab	U+0e2a
  87.177 +0xac	U+0e2b
  87.178 +0xad	U+0e2c
  87.179 +0xae	U+0e2d
  87.180 +0xaf	U+0e2e
  87.181 +0xb0	U+0e50
  87.182 +0xb1	U+0e51
  87.183 +0xb2	U+0e52
  87.184 +0xb3	U+0e53
  87.185 +0xb4	U+0e54
  87.186 +0xb5	U+0e55
  87.187 +0xb6	U+0e56
  87.188 +0xb7	U+0e57
  87.189 +0xb8	U+0e58
  87.190 +0xb9	U+0e59
  87.191 +0xba	U+0e2f
  87.192 +0xbb	U+0e30
  87.193 +0xbc	U+0e31
  87.194 +0xbd	U+0e32
  87.195 +0xbe	U+0e33
  87.196 +0xbf	U+0e34
  87.197 +0xc0	U+007b
  87.198 +0xc1	U+0041
  87.199 +0xc2	U+0042
  87.200 +0xc3	U+0043
  87.201 +0xc4	U+0044
  87.202 +0xc5	U+0045
  87.203 +0xc6	U+0046
  87.204 +0xc7	U+0047
  87.205 +0xc8	U+0048
  87.206 +0xc9	U+0049
  87.207 +0xca	U+0e49
  87.208 +0xcb	U+0e35
  87.209 +0xcc	U+0e36
  87.210 +0xcd	U+0e37
  87.211 +0xce	U+0e38
  87.212 +0xcf	U+0e39
  87.213 +0xd0	U+007d
  87.214 +0xd1	U+004a
  87.215 +0xd2	U+004b
  87.216 +0xd3	U+004c
  87.217 +0xd4	U+004d
  87.218 +0xd5	U+004e
  87.219 +0xd6	U+004f
  87.220 +0xd7	U+0050
  87.221 +0xd8	U+0051
  87.222 +0xd9	U+0052
  87.223 +0xda	U+0e3a
  87.224 +0xdb	U+0e40
  87.225 +0xdc	U+0e41
  87.226 +0xdd	U+0e42
  87.227 +0xde	U+0e43
  87.228 +0xdf	U+0e44
  87.229 +0xe0	U+005c
  87.230 +0xe1	U+0e4a
  87.231 +0xe2	U+0053
  87.232 +0xe3	U+0054
  87.233 +0xe4	U+0055
  87.234 +0xe5	U+0056
  87.235 +0xe6	U+0057
  87.236 +0xe7	U+0058
  87.237 +0xe8	U+0059
  87.238 +0xe9	U+005a
  87.239 +0xea	U+0e45
  87.240 +0xeb	U+0e46
  87.241 +0xec	U+0e47
  87.242 +0xed	U+0e48
  87.243 +0xee	U+0e49
  87.244 +0xef	U+0e4a
  87.245 +0xf0	U+0030
  87.246 +0xf1	U+0031
  87.247 +0xf2	U+0032
  87.248 +0xf3	U+0033
  87.249 +0xf4	U+0034
  87.250 +0xf5	U+0035
  87.251 +0xf6	U+0036
  87.252 +0xf7	U+0037
  87.253 +0xf8	U+0038
  87.254 +0xf9	U+0039
  87.255 +0xfa	U+0e4b
  87.256 +0xfb	U+0e4c
  87.257 +0xfc	U+0e4d
  87.258 +0xfd	U+0e4b
  87.259 +0xfe	U+0e4c
  87.260 +0xff	U+009f
    88.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    88.2 +++ b/make/tools/CharsetMapping/IBM838.nr	Tue Jan 20 09:42:07 2009 -0800
    88.3 @@ -0,0 +1,6 @@
    88.4 +0x25	U+000a
    88.5 +0x51	U+0e48
    88.6 +0xca	U+0e49
    88.7 +0xe1	U+0e4a
    88.8 +0xfd	U+0e4b
    88.9 +0xfe	U+0e4c
    89.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    89.2 +++ b/make/tools/CharsetMapping/IBM850.map	Tue Jan 20 09:42:07 2009 -0800
    89.3 @@ -0,0 +1,257 @@
    89.4 +#Generated from IBM850.java
    89.5 +0x00	U+0000
    89.6 +0x01	U+0001
    89.7 +0x02	U+0002
    89.8 +0x03	U+0003
    89.9 +0x04	U+0004
   89.10 +0x05	U+0005
   89.11 +0x06	U+0006
   89.12 +0x07	U+0007
   89.13 +0x08	U+0008
   89.14 +0x09	U+0009
   89.15 +0x0a	U+000a
   89.16 +0x0b	U+000b
   89.17 +0x0c	U+000c
   89.18 +0x0d	U+000d
   89.19 +0x0e	U+000e
   89.20 +0x0f	U+000f
   89.21 +0x10	U+0010
   89.22 +0x11	U+0011
   89.23 +0x12	U+0012
   89.24 +0x13	U+0013
   89.25 +0x14	U+0014
   89.26 +0x15	U+0015
   89.27 +0x16	U+0016
   89.28 +0x17	U+0017
   89.29 +0x18	U+0018
   89.30 +0x19	U+0019
   89.31 +0x1a	U+001a
   89.32 +0x1b	U+001b
   89.33 +0x1c	U+001c
   89.34 +0x1d	U+001d
   89.35 +0x1e	U+001e
   89.36 +0x1f	U+001f
   89.37 +0x20	U+0020
   89.38 +0x21	U+0021
   89.39 +0x22	U+0022
   89.40 +0x23	U+0023
   89.41 +0x24	U+0024
   89.42 +0x25	U+0025
   89.43 +0x26	U+0026
   89.44 +0x27	U+0027
   89.45 +0x28	U+0028
   89.46 +0x29	U+0029
   89.47 +0x2a	U+002a
   89.48 +0x2b	U+002b
   89.49 +0x2c	U+002c
   89.50 +0x2d	U+002d
   89.51 +0x2e	U+002e
   89.52 +0x2f	U+002f
   89.53 +0x30	U+0030
   89.54 +0x31	U+0031
   89.55 +0x32	U+0032
   89.56 +0x33	U+0033
   89.57 +0x34	U+0034
   89.58 +0x35	U+0035
   89.59 +0x36	U+0036
   89.60 +0x37	U+0037
   89.61 +0x38	U+0038
   89.62 +0x39	U+0039
   89.63 +0x3a	U+003a
   89.64 +0x3b	U+003b
   89.65 +0x3c	U+003c
   89.66 +0x3d	U+003d
   89.67 +0x3e	U+003e
   89.68 +0x3f	U+003f
   89.69 +0x40	U+0040
   89.70 +0x41	U+0041
   89.71 +0x42	U+0042
   89.72 +0x43	U+0043
   89.73 +0x44	U+0044
   89.74 +0x45	U+0045
   89.75 +0x46	U+0046
   89.76 +0x47	U+0047
   89.77 +0x48	U+0048
   89.78 +0x49	U+0049
   89.79 +0x4a	U+004a
   89.80 +0x4b	U+004b
   89.81 +0x4c	U+004c
   89.82 +0x4d	U+004d
   89.83 +0x4e	U+004e
   89.84 +0x4f	U+004f
   89.85 +0x50	U+0050
   89.86 +0x51	U+0051
   89.87 +0x52	U+0052
   89.88 +0x53	U+0053
   89.89 +0x54	U+0054
   89.90 +0x55	U+0055
   89.91 +0x56	U+0056
   89.92 +0x57	U+0057
   89.93 +0x58	U+0058
   89.94 +0x59	U+0059
   89.95 +0x5a	U+005a
   89.96 +0x5b	U+005b
   89.97 +0x5c	U+005c
   89.98 +0x5d	U+005d
   89.99 +0x5e	U+005e
  89.100 +0x5f	U+005f
  89.101 +0x60	U+0060
  89.102 +0x61	U+0061
  89.103 +0x62	U+0062
  89.104 +0x63	U+0063
  89.105 +0x64	U+0064
  89.106 +0x65	U+0065
  89.107 +0x66	U+0066
  89.108 +0x67	U+0067
  89.109 +0x68	U+0068
  89.110 +0x69	U+0069
  89.111 +0x6a	U+006a
  89.112 +0x6b	U+006b
  89.113 +0x6c	U+006c
  89.114 +0x6d	U+006d
  89.115 +0x6e	U+006e
  89.116 +0x6f	U+006f
  89.117 +0x70	U+0070
  89.118 +0x71	U+0071
  89.119 +0x72	U+0072
  89.120 +0x73	U+0073
  89.121 +0x74	U+0074
  89.122 +0x75	U+0075
  89.123 +0x76	U+0076
  89.124 +0x77	U+0077
  89.125 +0x78	U+0078
  89.126 +0x79	U+0079
  89.127 +0x7a	U+007a
  89.128 +0x7b	U+007b
  89.129 +0x7c	U+007c
  89.130 +0x7d	U+007d
  89.131 +0x7e	U+007e
  89.132 +0x7f	U+007f
  89.133 +0x80	U+00c7
  89.134 +0x81	U+00fc
  89.135 +0x82	U+00e9
  89.136 +0x83	U+00e2
  89.137 +0x84	U+00e4
  89.138 +0x85	U+00e0
  89.139 +0x86	U+00e5
  89.140 +0x87	U+00e7
  89.141 +0x88	U+00ea
  89.142 +0x89	U+00eb
  89.143 +0x8a	U+00e8
  89.144 +0x8b	U+00ef
  89.145 +0x8c	U+00ee
  89.146 +0x8d	U+00ec
  89.147 +0x8e	U+00c4
  89.148 +0x8f	U+00c5
  89.149 +0x90	U+00c9
  89.150 +0x91	U+00e6
  89.151 +0x92	U+00c6
  89.152 +0x93	U+00f4
  89.153 +0x94	U+00f6
  89.154 +0x95	U+00f2
  89.155 +0x96	U+00fb
  89.156 +0x97	U+00f9
  89.157 +0x98	U+00ff
  89.158 +0x99	U+00d6
  89.159 +0x9a	U+00dc
  89.160 +0x9b	U+00f8
  89.161 +0x9c	U+00a3
  89.162 +0x9d	U+00d8
  89.163 +0x9e	U+00d7
  89.164 +0x9f	U+0192
  89.165 +0xa0	U+00e1
  89.166 +0xa1	U+00ed
  89.167 +0xa2	U+00f3
  89.168 +0xa3	U+00fa
  89.169 +0xa4	U+00f1
  89.170 +0xa5	U+00d1
  89.171 +0xa6	U+00aa
  89.172 +0xa7	U+00ba
  89.173 +0xa8	U+00bf
  89.174 +0xa9	U+00ae
  89.175 +0xaa	U+00ac
  89.176 +0xab	U+00bd
  89.177 +0xac	U+00bc
  89.178 +0xad	U+00a1
  89.179 +0xae	U+00ab
  89.180 +0xaf	U+00bb
  89.181 +0xb0	U+2591
  89.182 +0xb1	U+2592
  89.183 +0xb2	U+2593
  89.184 +0xb3	U+2502
  89.185 +0xb4	U+2524
  89.186 +0xb5	U+00c1
  89.187 +0xb6	U+00c2
  89.188 +0xb7	U+00c0
  89.189 +0xb8	U+00a9
  89.190 +0xb9	U+2563
  89.191 +0xba	U+2551
  89.192 +0xbb	U+2557
  89.193 +0xbc	U+255d
  89.194 +0xbd	U+00a2
  89.195 +0xbe	U+00a5
  89.196 +0xbf	U+2510
  89.197 +0xc0	U+2514
  89.198 +0xc1	U+2534
  89.199 +0xc2	U+252c
  89.200 +0xc3	U+251c
  89.201 +0xc4	U+2500
  89.202 +0xc5	U+253c
  89.203 +0xc6	U+00e3
  89.204 +0xc7	U+00c3
  89.205 +0xc8	U+255a
  89.206 +0xc9	U+2554
  89.207 +0xca	U+2569
  89.208 +0xcb	U+2566
  89.209 +0xcc	U+2560
  89.210 +0xcd	U+2550
  89.211 +0xce	U+256c
  89.212 +0xcf	U+00a4
  89.213 +0xd0	U+00f0
  89.214 +0xd1	U+00d0
  89.215 +0xd2	U+00ca
  89.216 +0xd3	U+00cb
  89.217 +0xd4	U+00c8
  89.218 +0xd5	U+0131
  89.219 +0xd6	U+00cd
  89.220 +0xd7	U+00ce
  89.221 +0xd8	U+00cf
  89.222 +0xd9	U+2518
  89.223 +0xda	U+250c
  89.224 +0xdb	U+2588
  89.225 +0xdc	U+2584
  89.226 +0xdd	U+00a6
  89.227 +0xde	U+00cc
  89.228 +0xdf	U+2580
  89.229 +0xe0	U+00d3
  89.230 +0xe1	U+00df
  89.231 +0xe2	U+00d4
  89.232 +0xe3	U+00d2
  89.233 +0xe4	U+00f5
  89.234 +0xe5	U+00d5
  89.235 +0xe6	U+00b5
  89.236 +0xe7	U+00fe
  89.237 +0xe8	U+00de
  89.238 +0xe9	U+00da
  89.239 +0xea	U+00db
  89.240 +0xeb	U+00d9
  89.241 +0xec	U+00fd
  89.242 +0xed	U+00dd
  89.243 +0xee	U+00af
  89.244 +0xef	U+00b4
  89.245 +0xf0	U+00ad
  89.246 +0xf1	U+00b1
  89.247 +0xf2	U+2017
  89.248 +0xf3	U+00be
  89.249 +0xf4	U+00b6
  89.250 +0xf5	U+00a7
  89.251 +0xf6	U+00f7
  89.252 +0xf7	U+00b8
  89.253 +0xf8	U+00b0
  89.254 +0xf9	U+00a8
  89.255 +0xfa	U+00b7
  89.256 +0xfb	U+00b9
  89.257 +0xfc	U+00b3
  89.258 +0xfd	U+00b2
  89.259 +0xfe	U+25a0
  89.260 +0xff	U+00a0
    90.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    90.2 +++ b/make/tools/CharsetMapping/IBM852.map	Tue Jan 20 09:42:07 2009 -0800
    90.3 @@ -0,0 +1,257 @@
    90.4 +#Generated from IBM852.java
    90.5 +0x00	U+0000
    90.6 +0x01	U+0001
    90.7 +0x02	U+0002
    90.8 +0x03	U+0003
    90.9 +0x04	U+0004
   90.10 +0x05	U+0005
   90.11 +0x06	U+0006
   90.12 +0x07	U+0007
   90.13 +0x08	U+0008
   90.14 +0x09	U+0009
   90.15 +0x0a	U+000a
   90.16 +0x0b	U+000b
   90.17 +0x0c	U+000c
   90.18 +0x0d	U+000d
   90.19 +0x0e	U+000e
   90.20 +0x0f	U+000f
   90.21 +0x10	U+0010
   90.22 +0x11	U+0011
   90.23 +0x12	U+0012
   90.24 +0x13	U+0013
   90.25 +0x14	U+0014
   90.26 +0x15	U+0015
   90.27 +0x16	U+0016
   90.28 +0x17	U+0017
   90.29 +0x18	U+0018
   90.30 +0x19	U+0019
   90.31 +0x1a	U+001a
   90.32 +0x1b	U+001b
   90.33 +0x1c	U+001c
   90.34 +0x1d	U+001d
   90.35 +0x1e	U+001e
   90.36 +0x1f	U+001f
   90.37 +0x20	U+0020
   90.38 +0x21	U+0021
   90.39 +0x22	U+0022
   90.40 +0x23	U+0023
   90.41 +0x24	U+0024
   90.42 +0x25	U+0025
   90.43 +0x26	U+0026
   90.44 +0x27	U+0027
   90.45 +0x28	U+0028
   90.46 +0x29	U+0029
   90.47 +0x2a	U+002a
   90.48 +0x2b	U+002b
   90.49 +0x2c	U+002c
   90.50 +0x2d	U+002d
   90.51 +0x2e	U+002e
   90.52 +0x2f	U+002f
   90.53 +0x30	U+0030
   90.54 +0x31	U+0031
   90.55 +0x32	U+0032
   90.56 +0x33	U+0033
   90.57 +0x34	U+0034
   90.58 +0x35	U+0035
   90.59 +0x36	U+0036
   90.60 +0x37	U+0037
   90.61 +0x38	U+0038
   90.62 +0x39	U+0039
   90.63 +0x3a	U+003a
   90.64 +0x3b	U+003b
   90.65 +0x3c	U+003c
   90.66 +0x3d	U+003d
   90.67 +0x3e	U+003e
   90.68 +0x3f	U+003f
   90.69 +0x40	U+0040
   90.70 +0x41	U+0041
   90.71 +0x42	U+0042
   90.72 +0x43	U+0043
   90.73 +0x44	U+0044
   90.74 +0x45	U+0045
   90.75 +0x46	U+0046
   90.76 +0x47	U+0047
   90.77 +0x48	U+0048
   90.78 +0x49	U+0049
   90.79 +0x4a	U+004a
   90.80 +0x4b	U+004b
   90.81 +0x4c	U+004c
   90.82 +0x4d	U+004d
   90.83 +0x4e	U+004e
   90.84 +0x4f	U+004f
   90.85 +0x50	U+0050
   90.86 +0x51	U+0051
   90.87 +0x52	U+0052
   90.88 +0x53	U+0053
   90.89 +0x54	U+0054
   90.90 +0x55	U+0055
   90.91 +0x56	U+0056
   90.92 +0x57	U+0057
   90.93 +0x58	U+0058
   90.94 +0x59	U+0059
   90.95 +0x5a	U+005a
   90.96 +0x5b	U+005b
   90.97 +0x5c	U+005c
   90.98 +0x5d	U+005d
   90.99 +0x5e	U+005e
  90.100 +0x5f	U+005f
  90.101 +0x60	U+0060
  90.102 +0x61	U+0061
  90.103 +0x62	U+0062
  90.104 +0x63	U+0063
  90.105 +0x64	U+0064
  90.106 +0x65	U+0065
  90.107 +0x66	U+0066
  90.108 +0x67	U+0067
  90.109 +0x68	U+0068
  90.110 +0x69	U+0069
  90.111 +0x6a	U+006a
  90.112 +0x6b	U+006b
  90.113 +0x6c	U+006c
  90.114 +0x6d	U+006d
  90.115 +0x6e	U+006e
  90.116 +0x6f	U+006f
  90.117 +0x70	U+0070
  90.118 +0x71	U+0071
  90.119 +0x72	U+0072
  90.120 +0x73	U+0073
  90.121 +0x74	U+0074
  90.122 +0x75	U+0075
  90.123 +0x76	U+0076
  90.124 +0x77	U+0077
  90.125 +0x78	U+0078
  90.126 +0x79	U+0079
  90.127 +0x7a	U+007a
  90.128 +0x7b	U+007b
  90.129 +0x7c	U+007c
  90.130 +0x7d	U+007d
  90.131 +0x7e	U+007e
  90.132 +0x7f	U+007f
  90.133 +0x80	U+00c7
  90.134 +0x81	U+00fc
  90.135 +0x82	U+00e9
  90.136 +0x83	U+00e2
  90.137 +0x84	U+00e4
  90.138 +0x85	U+016f
  90.139 +0x86	U+0107
  90.140 +0x87	U+00e7
  90.141 +0x88	U+0142
  90.142 +0x89	U+00eb
  90.143 +0x8a	U+0150
  90.144 +0x8b	U+0151
  90.145 +0x8c	U+00ee
  90.146 +0x8d	U+0179
  90.147 +0x8e	U+00c4
  90.148 +0x8f	U+0106
  90.149 +0x90	U+00c9
  90.150 +0x91	U+0139
  90.151 +0x92	U+013a
  90.152 +0x93	U+00f4
  90.153 +0x94	U+00f6
  90.154 +0x95	U+013d
  90.155 +0x96	U+013e
  90.156 +0x97	U+015a
  90.157 +0x98	U+015b
  90.158 +0x99	U+00d6
  90.159 +0x9a	U+00dc
  90.160 +0x9b	U+0164
  90.161 +0x9c	U+0165
  90.162 +0x9d	U+0141
  90.163 +0x9e	U+00d7
  90.164 +0x9f	U+010d
  90.165 +0xa0	U+00e1
  90.166 +0xa1	U+00ed
  90.167 +0xa2	U+00f3
  90.168 +0xa3	U+00fa
  90.169 +0xa4	U+0104
  90.170 +0xa5	U+0105
  90.171 +0xa6	U+017d
  90.172 +0xa7	U+017e
  90.173 +0xa8	U+0118
  90.174 +0xa9	U+0119
  90.175 +0xaa	U+00ac
  90.176 +0xab	U+017a
  90.177 +0xac	U+010c
  90.178 +0xad	U+015f
  90.179 +0xae	U+00ab
  90.180 +0xaf	U+00bb
  90.181 +0xb0	U+2591
  90.182 +0xb1	U+2592
  90.183 +0xb2	U+2593
  90.184 +0xb3	U+2502
  90.185 +0xb4	U+2524
  90.186 +0xb5	U+00c1
  90.187 +0xb6	U+00c2
  90.188 +0xb7	U+011a
  90.189 +0xb8	U+015e
  90.190 +0xb9	U+2563
  90.191 +0xba	U+2551
  90.192 +0xbb	U+2557
  90.193 +0xbc	U+255d
  90.194 +0xbd	U+017b
  90.195 +0xbe	U+017c
  90.196 +0xbf	U+2510
  90.197 +0xc0	U+2514
  90.198 +0xc1	U+2534
  90.199 +0xc2	U+252c
  90.200 +0xc3	U+251c
  90.201 +0xc4	U+2500
  90.202 +0xc5	U+253c
  90.203 +0xc6	U+0102
  90.204 +0xc7	U+0103
  90.205 +0xc8	U+255a
  90.206 +0xc9	U+2554
  90.207 +0xca	U+2569
  90.208 +0xcb	U+2566
  90.209 +0xcc	U+2560
  90.210 +0xcd	U+2550
  90.211 +0xce	U+256c
  90.212 +0xcf	U+00a4
  90.213 +0xd0	U+0111
  90.214 +0xd1	U+0110
  90.215 +0xd2	U+010e
  90.216 +0xd3	U+00cb
  90.217 +0xd4	U+010f
  90.218 +0xd5	U+0147
  90.219 +0xd6	U+00cd
  90.220 +0xd7	U+00ce
  90.221 +0xd8	U+011b
  90.222 +0xd9	U+2518
  90.223 +0xda	U+250c
  90.224 +0xdb	U+2588
  90.225 +0xdc	U+2584
  90.226 +0xdd	U+0162
  90.227 +0xde	U+016e
  90.228 +0xdf	U+2580
  90.229 +0xe0	U+00d3
  90.230 +0xe1	U+00df
  90.231 +0xe2	U+00d4
  90.232 +0xe3	U+0143
  90.233 +0xe4	U+0144
  90.234 +0xe5	U+0148
  90.235 +0xe6	U+0160
  90.236 +0xe7	U+0161
  90.237 +0xe8	U+0154
  90.238 +0xe9	U+00da
  90.239 +0xea	U+0155
  90.240 +0xeb	U+0170
  90.241 +0xec	U+00fd
  90.242 +0xed	U+00dd
  90.243 +0xee	U+0163
  90.244 +0xef	U+00b4
  90.245 +0xf0	U+00ad
  90.246 +0xf1	U+02dd
  90.247 +0xf2	U+02db
  90.248 +0xf3	U+02c7
  90.249 +0xf4	U+02d8
  90.250 +0xf5	U+00a7
  90.251 +0xf6	U+00f7
  90.252 +0xf7	U+00b8
  90.253 +0xf8	U+00b0
  90.254 +0xf9	U+00a8
  90.255 +0xfa	U+02d9
  90.256 +0xfb	U+0171
  90.257 +0xfc	U+0158
  90.258 +0xfd	U+0159
  90.259 +0xfe	U+25a0
  90.260 +0xff	U+00a0
    91.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    91.2 +++ b/make/tools/CharsetMapping/IBM855.map	Tue Jan 20 09:42:07 2009 -0800
    91.3 @@ -0,0 +1,257 @@
    91.4 +#Generated from IBM855.java
    91.5 +0x00	U+0000
    91.6 +0x01	U+0001
    91.7 +0x02	U+0002
    91.8 +0x03	U+0003
    91.9 +0x04	U+0004
   91.10 +0x05	U+0005
   91.11 +0x06	U+0006
   91.12 +0x07	U+0007
   91.13 +0x08	U+0008
   91.14 +0x09	U+0009
   91.15 +0x0a	U+000a
   91.16 +0x0b	U+000b
   91.17 +0x0c	U+000c
   91.18 +0x0d	U+000d
   91.19 +0x0e	U+000e
   91.20 +0x0f	U+000f
   91.21 +0x10	U+0010
   91.22 +0x11	U+0011
   91.23 +0x12	U+0012
   91.24 +0x13	U+0013
   91.25 +0x14	U+0014
   91.26 +0x15	U+0015
   91.27 +0x16	U+0016
   91.28 +0x17	U+0017
   91.29 +0x18	U+0018
   91.30 +0x19	U+0019
   91.31 +0x1a	U+001a
   91.32 +0x1b	U+001b
   91.33 +0x1c	U+001c
   91.34 +0x1d	U+001d
   91.35 +0x1e	U+001e
   91.36 +0x1f	U+001f
   91.37 +0x20	U+0020
   91.38 +0x21	U+0021
   91.39 +0x22	U+0022
   91.40 +0x23	U+0023
   91.41 +0x24	U+0024
   91.42 +0x25	U+0025
   91.43 +0x26	U+0026
   91.44 +0x27	U+0027
   91.45 +0x28	U+0028
   91.46 +0x29	U+0029
   91.47 +0x2a	U+002a
   91.48 +0x2b	U+002b
   91.49 +0x2c	U+002c
   91.50 +0x2d	U+002d
   91.51 +0x2e	U+002e
   91.52 +0x2f	U+002f
   91.53 +0x30	U+0030
   91.54 +0x31	U+0031
   91.55 +0x32	U+0032
   91.56 +0x33	U+0033
   91.57 +0x34	U+0034
   91.58 +0x35	U+0035
   91.59 +0x36	U+0036
   91.60 +0x37	U+0037
   91.61 +0x38	U+0038
   91.62 +0x39	U+0039
   91.63 +0x3a	U+003a
   91.64 +0x3b	U+003b
   91.65 +0x3c	U+003c
   91.66 +0x3d	U+003d
   91.67 +0x3e	U+003e
   91.68 +0x3f	U+003f
   91.69 +0x40	U+0040
   91.70 +0x41	U+0041
   91.71 +0x42	U+0042
   91.72 +0x43	U+0043
   91.73 +0x44	U+0044
   91.74 +0x45	U+0045
   91.75 +0x46	U+0046
   91.76 +0x47	U+0047
   91.77 +0x48	U+0048
   91.78 +0x49	U+0049
   91.79 +0x4a	U+004a
   91.80 +0x4b	U+004b
   91.81 +0x4c	U+004c
   91.82 +0x4d	U+004d
   91.83 +0x4e	U+004e
   91.84 +0x4f	U+004f
   91.85 +0x50	U+0050
   91.86 +0x51	U+0051
   91.87 +0x52	U+0052
   91.88 +0x53	U+0053
   91.89 +0x54	U+0054
   91.90 +0x55	U+0055
   91.91 +0x56	U+0056
   91.92 +0x57	U+0057
   91.93 +0x58	U+0058
   91.94 +0x59	U+0059
   91.95 +0x5a	U+005a
   91.96 +0x5b	U+005b
   91.97 +0x5c	U+005c
   91.98 +0x5d	U+005d
   91.99 +0x5e	U+005e
  91.100 +0x5f	U+005f
  91.101 +0x60	U+0060
  91.102 +0x61	U+0061
  91.103 +0x62	U+0062
  91.104 +0x63	U+0063
  91.105 +0x64	U+0064
  91.106 +0x65	U+0065
  91.107 +0x66	U+0066
  91.108 +0x67	U+0067
  91.109 +0x68	U+0068
  91.110 +0x69	U+0069
  91.111 +0x6a	U+006a
  91.112 +0x6b	U+006b
  91.113 +0x6c	U+006c
  91.114 +0x6d	U+006d
  91.115 +0x6e	U+006e
  91.116 +0x6f	U+006f
  91.117 +0x70	U+0070
  91.118 +0x71	U+0071
  91.119 +0x72	U+0072
  91.120 +0x73	U+0073
  91.121 +0x74	U+0074
  91.122 +0x75	U+0075
  91.123 +0x76	U+0076
  91.124 +0x77	U+0077
  91.125 +0x78	U+0078
  91.126 +0x79	U+0079
  91.127 +0x7a	U+007a
  91.128 +0x7b	U+007b
  91.129 +0x7c	U+007c
  91.130 +0x7d	U+007d
  91.131 +0x7e	U+007e
  91.132 +0x7f	U+007f
  91.133 +0x80	U+0452
  91.134 +0x81	U+0402
  91.135 +0x82	U+0453
  91.136 +0x83	U+0403
  91.137 +0x84	U+0451
  91.138 +0x85	U+0401
  91.139 +0x86	U+0454
  91.140 +0x87	U+0404
  91.141 +0x88	U+0455
  91.142 +0x89	U+0405
  91.143 +0x8a	U+0456
  91.144 +0x8b	U+0406
  91.145 +0x8c	U+0457
  91.146 +0x8d	U+0407
  91.147 +0x8e	U+0458
  91.148 +0x8f	U+0408
  91.149 +0x90	U+0459
  91.150 +0x91	U+0409
  91.151 +0x92	U+045a
  91.152 +0x93	U+040a
  91.153 +0x94	U+045b
  91.154 +0x95	U+040b
  91.155 +0x96	U+045c
  91.156 +0x97	U+040c
  91.157 +0x98	U+045e
  91.158 +0x99	U+040e
  91.159 +0x9a	U+045f
  91.160 +0x9b	U+040f
  91.161 +0x9c	U+044e
  91.162 +0x9d	U+042e
  91.163 +0x9e	U+044a
  91.164 +0x9f	U+042a
  91.165 +0xa0	U+0430
  91.166 +0xa1	U+0410
  91.167 +0xa2	U+0431
  91.168 +0xa3	U+0411
  91.169 +0xa4	U+0446
  91.170 +0xa5	U+0426
  91.171 +0xa6	U+0434
  91.172 +0xa7	U+0414
  91.173 +0xa8	U+0435
  91.174 +0xa9	U+0415
  91.175 +0xaa	U+0444
  91.176 +0xab	U+0424
  91.177 +0xac	U+0433
  91.178 +0xad	U+0413
  91.179 +0xae	U+00ab
  91.180 +0xaf	U+00bb
  91.181 +0xb0	U+2591
  91.182 +0xb1	U+2592
  91.183 +0xb2	U+2593
  91.184 +0xb3	U+2502
  91.185 +0xb4	U+2524
  91.186 +0xb5	U+0445
  91.187 +0xb6	U+0425
  91.188 +0xb7	U+0438
  91.189 +0xb8	U+0418
  91.190 +0xb9	U+2563
  91.191 +0xba	U+2551
  91.192 +0xbb	U+2557
  91.193 +0xbc	U+255d
  91.194 +0xbd	U+0439
  91.195 +0xbe	U+0419
  91.196 +0xbf	U+2510
  91.197 +0xc0	U+2514
  91.198 +0xc1	U+2534
  91.199 +0xc2	U+252c
  91.200 +0xc3	U+251c
  91.201 +0xc4	U+2500
  91.202 +0xc5	U+253c
  91.203 +0xc6	U+043a
  91.204 +0xc7	U+041a
  91.205 +0xc8	U+255a
  91.206 +0xc9	U+2554
  91.207 +0xca	U+2569
  91.208 +0xcb	U+2566
  91.209 +0xcc	U+2560
  91.210 +0xcd	U+2550
  91.211 +0xce	U+256c
  91.212 +0xcf	U+00a4
  91.213 +0xd0	U+043b
  91.214 +0xd1	U+041b
  91.215 +0xd2	U+043c
  91.216 +0xd3	U+041c
  91.217 +0xd4	U+043d
  91.218 +0xd5	U+041d
  91.219 +0xd6	U+043e
  91.220 +0xd7	U+041e
  91.221 +0xd8	U+043f
  91.222 +0xd9	U+2518
  91.223 +0xda	U+250c
  91.224 +0xdb	U+2588
  91.225 +0xdc	U+2584
  91.226 +0xdd	U+041f
  91.227 +0xde	U+044f
  91.228 +0xdf	U+2580
  91.229 +0xe0	U+042f
  91.230 +0xe1	U+0440
  91.231 +0xe2	U+0420
  91.232 +0xe3	U+0441
  91.233 +0xe4	U+0421
  91.234 +0xe5	U+0442
  91.235 +0xe6	U+0422
  91.236 +0xe7	U+0443
  91.237 +0xe8	U+0423
  91.238 +0xe9	U+0436
  91.239 +0xea	U+0416
  91.240 +0xeb	U+0432
  91.241 +0xec	U+0412
  91.242 +0xed	U+044c
  91.243 +0xee	U+042c
  91.244 +0xef	U+2116
  91.245 +0xf0	U+00ad
  91.246 +0xf1	U+044b
  91.247 +0xf2	U+042b
  91.248 +0xf3	U+0437
  91.249 +0xf4	U+0417
  91.250 +0xf5	U+0448
  91.251 +0xf6	U+0428
  91.252 +0xf7	U+044d
  91.253 +0xf8	U+042d
  91.254 +0xf9	U+0449
  91.255 +0xfa	U+0429
  91.256 +0xfb	U+0447
  91.257 +0xfc	U+0427
  91.258 +0xfd	U+00a7
  91.259 +0xfe	U+25a0
  91.260 +0xff	U+00a0
    92.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    92.2 +++ b/make/tools/CharsetMapping/IBM856.map	Tue Jan 20 09:42:07 2009 -0800
    92.3 @@ -0,0 +1,257 @@
    92.4 +#Generated from IBM856.java
    92.5 +0x00	U+0000
    92.6 +0x01	U+0001
    92.7 +0x02	U+0002
    92.8 +0x03	U+0003
    92.9 +0x04	U+0004
   92.10 +0x05	U+0005
   92.11 +0x06	U+0006
   92.12 +0x07	U+0007
   92.13 +0x08	U+0008
   92.14 +0x09	U+0009
   92.15 +0x0a	U+000a
   92.16 +0x0b	U+000b
   92.17 +0x0c	U+000c
   92.18 +0x0d	U+000d
   92.19 +0x0e	U+000e
   92.20 +0x0f	U+000f
   92.21 +0x10	U+0010
   92.22 +0x11	U+0011
   92.23 +0x12	U+0012
   92.24 +0x13	U+0013
   92.25 +0x14	U+0014
   92.26 +0x15	U+0015
   92.27 +0x16	U+0016
   92.28 +0x17	U+0017
   92.29 +0x18	U+0018
   92.30 +0x19	U+0019
   92.31 +0x1a	U+001a
   92.32 +0x1b	U+001b
   92.33 +0x1c	U+001c
   92.34 +0x1d	U+001d
   92.35 +0x1e	U+001e
   92.36 +0x1f	U+001f
   92.37 +0x20	U+0020
   92.38 +0x21	U+0021
   92.39 +0x22	U+0022
   92.40 +0x23	U+0023
   92.41 +0x24	U+0024
   92.42 +0x25	U+0025
   92.43 +0x26	U+0026
   92.44 +0x27	U+0027
   92.45 +0x28	U+0028
   92.46 +0x29	U+0029
   92.47 +0x2a	U+002a
   92.48 +0x2b	U+002b
   92.49 +0x2c	U+002c
   92.50 +0x2d	U+002d
   92.51 +0x2e	U+002e
   92.52 +0x2f	U+002f
   92.53 +0x30	U+0030
   92.54 +0x31	U+0031
   92.55 +0x32	U+0032
   92.56 +0x33	U+0033
   92.57 +0x34	U+0034
   92.58 +0x35	U+0035
   92.59 +0x36	U+0036
   92.60 +0x37	U+0037
   92.61 +0x38	U+0038
   92.62 +0x39	U+0039
   92.63 +0x3a	U+003a
   92.64 +0x3b	U+003b
   92.65 +0x3c	U+003c
   92.66 +0x3d	U+003d
   92.67 +0x3e	U+003e
   92.68 +0x3f	U+003f
   92.69 +0x40	U+0040
   92.70 +0x41	U+0041
   92.71 +0x42	U+0042
   92.72 +0x43	U+0043
   92.73 +0x44	U+0044
   92.74 +0x45	U+0045
   92.75 +0x46	U+0046
   92.76 +0x47	U+0047
   92.77 +0x48	U+0048
   92.78 +0x49	U+0049
   92.79 +0x4a	U+004a
   92.80 +0x4b	U+004b
   92.81 +0x4c	U+004c
   92.82 +0x4d	U+004d
   92.83 +0x4e	U+004e
   92.84 +0x4f	U+004f
   92.85 +0x50	U+0050
   92.86 +0x51	U+0051
   92.87 +0x52	U+0052
   92.88 +0x53	U+0053
   92.89 +0x54	U+0054
   92.90 +0x55	U+0055
   92.91 +0x56	U+0056
   92.92 +0x57	U+0057
   92.93 +0x58	U+0058
   92.94 +0x59	U+0059
   92.95 +0x5a	U+005a
   92.96 +0x5b	U+005b
   92.97 +0x5c	U+005c
   92.98 +0x5d	U+005d
   92.99 +0x5e	U+005e
  92.100 +0x5f	U+005f
  92.101 +0x60	U+0060
  92.102 +0x61	U+0061
  92.103 +0x62	U+0062
  92.104 +0x63	U+0063
  92.105 +0x64	U+0064
  92.106 +0x65	U+0065
  92.107 +0x66	U+0066
  92.108 +0x67	U+0067
  92.109 +0x68	U+0068
  92.110 +0x69	U+0069
  92.111 +0x6a	U+006a
  92.112 +0x6b	U+006b
  92.113 +0x6c	U+006c
  92.114 +0x6d	U+006d
  92.115 +0x6e	U+006e
  92.116 +0x6f	U+006f
  92.117 +0x70	U+0070
  92.118 +0x71	U+0071
  92.119 +0x72	U+0072
  92.120 +0x73	U+0073
  92.121 +0x74	U+0074
  92.122 +0x75	U+0075
  92.123 +0x76	U+0076
  92.124 +0x77	U+0077
  92.125 +0x78	U+0078
  92.126 +0x79	U+0079
  92.127 +0x7a	U+007a
  92.128 +0x7b	U+007b
  92.129 +0x7c	U+007c
  92.130 +0x7d	U+007d
  92.131 +0x7e	U+007e
  92.132 +0x7f	U+007f
  92.133 +0x80	U+05d0
  92.134 +0x81	U+05d1
  92.135 +0x82	U+05d2
  92.136 +0x83	U+05d3
  92.137 +0x84	U+05d4
  92.138 +0x85	U+05d5
  92.139 +0x86	U+05d6
  92.140 +0x87	U+05d7
  92.141 +0x88	U+05d8
  92.142 +0x89	U+05d9
  92.143 +0x8a	U+05da
  92.144 +0x8b	U+05db
  92.145 +0x8c	U+05dc
  92.146 +0x8d	U+05dd
  92.147 +0x8e	U+05de
  92.148 +0x8f	U+05df
  92.149 +0x90	U+05e0
  92.150 +0x91	U+05e1
  92.151 +0x92	U+05e2
  92.152 +0x93	U+05e3
  92.153 +0x94	U+05e4
  92.154 +0x95	U+05e5
  92.155 +0x96	U+05e6
  92.156 +0x97	U+05e7
  92.157 +0x98	U+05e8
  92.158 +0x99	U+05e9
  92.159 +0x9a	U+05ea
  92.160 +0x9b	U+fffd
  92.161 +0x9c	U+00a3
  92.162 +0x9d	U+fffd
  92.163 +0x9e	U+00d7
  92.164 +0x9f	U+fffd
  92.165 +0xa0	U+fffd
  92.166 +0xa1	U+fffd
  92.167 +0xa2	U+fffd
  92.168 +0xa3	U+fffd
  92.169 +0xa4	U+fffd
  92.170 +0xa5	U+fffd
  92.171 +0xa6	U+fffd
  92.172 +0xa7	U+fffd
  92.173 +0xa8	U+fffd
  92.174 +0xa9	U+00ae
  92.175 +0xaa	U+00ac
  92.176 +0xab	U+00bd
  92.177 +0xac	U+00bc
  92.178 +0xad	U+fffd
  92.179 +0xae	U+00ab
  92.180 +0xaf	U+00bb
  92.181 +0xb0	U+2591
  92.182 +0xb1	U+2592
  92.183 +0xb2	U+2593
  92.184 +0xb3	U+2502
  92.185 +0xb4	U+2524
  92.186 +0xb5	U+fffd
  92.187 +0xb6	U+fffd
  92.188 +0xb7	U+fffd
  92.189 +0xb8	U+00a9
  92.190 +0xb9	U+2563
  92.191 +0xba	U+2551
  92.192 +0xbb	U+2557
  92.193 +0xbc	U+255d
  92.194 +0xbd	U+00a2
  92.195 +0xbe	U+00a5
  92.196 +0xbf	U+2510
  92.197 +0xc0	U+2514
  92.198 +0xc1	U+2534
  92.199 +0xc2	U+252c
  92.200 +0xc3	U+251c
  92.201 +0xc4	U+2500
  92.202 +0xc5	U+253c
  92.203 +0xc6	U+fffd
  92.204 +0xc7	U+fffd
  92.205 +0xc8	U+255a
  92.206 +0xc9	U+2554
  92.207 +0xca	U+2569
  92.208 +0xcb	U+2566
  92.209 +0xcc	U+2560
  92.210 +0xcd	U+2550
  92.211 +0xce	U+256c
  92.212 +0xcf	U+00a4
  92.213 +0xd0	U+fffd
  92.214 +0xd1	U+fffd
  92.215 +0xd2	U+fffd
  92.216 +0xd3	U+fffd
  92.217 +0xd4	U+fffd
  92.218 +0xd5	U+fffd
  92.219 +0xd6	U+fffd
  92.220 +0xd7	U+fffd
  92.221 +0xd8	U+fffd
  92.222 +0xd9	U+2518
  92.223 +0xda	U+250c
  92.224 +0xdb	U+2588
  92.225 +0xdc	U+2584
  92.226 +0xdd	U+00a6
  92.227 +0xde	U+fffd
  92.228 +0xdf	U+2580
  92.229 +0xe0	U+fffd
  92.230 +0xe1	U+fffd
  92.231 +0xe2	U+fffd
  92.232 +0xe3	U+fffd
  92.233 +0xe4	U+fffd
  92.234 +0xe5	U+fffd
  92.235 +0xe6	U+00b5
  92.236 +0xe7	U+fffd
  92.237 +0xe8	U+fffd
  92.238 +0xe9	U+fffd
  92.239 +0xea	U+fffd
  92.240 +0xeb	U+fffd
  92.241 +0xec	U+fffd
  92.242 +0xed	U+fffd
  92.243 +0xee	U+203e
  92.244 +0xef	U+00b4
  92.245 +0xf0	U+00ad
  92.246 +0xf1	U+00b1
  92.247 +0xf2	U+2017
  92.248 +0xf3	U+00be
  92.249 +0xf4	U+00b6
  92.250 +0xf5	U+00a7
  92.251 +0xf6	U+00f7
  92.252 +0xf7	U+00b8
  92.253 +0xf8	U+00b0
  92.254 +0xf9	U+00a8
  92.255 +0xfa	U+2022
  92.256 +0xfb	U+00b9
  92.257 +0xfc	U+00b3
  92.258 +0xfd	U+00b2
  92.259 +0xfe	U+25a0
  92.260 +0xff	U+00a0
    93.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    93.2 +++ b/make/tools/CharsetMapping/IBM857.map	Tue Jan 20 09:42:07 2009 -0800
    93.3 @@ -0,0 +1,257 @@
    93.4 +#Generated from IBM857.java
    93.5 +0x00	U+0000
    93.6 +0x01	U+0001
    93.7 +0x02	U+0002
    93.8 +0x03	U+0003
    93.9 +0x04	U+0004
   93.10 +0x05	U+0005
   93.11 +0x06	U+0006
   93.12 +0x07	U+0007
   93.13 +0x08	U+0008
   93.14 +0x09	U+0009
   93.15 +0x0a	U+000a
   93.16 +0x0b	U+000b
   93.17 +0x0c	U+000c
   93.18 +0x0d	U+000d
   93.19 +0x0e	U+000e
   93.20 +0x0f	U+000f
   93.21 +0x10	U+0010
   93.22 +0x11	U+0011
   93.23 +0x12	U+0012
   93.24 +0x13	U+0013
   93.25 +0x14	U+0014
   93.26 +0x15	U+0015
   93.27 +0x16	U+0016
   93.28 +0x17	U+0017
   93.29 +0x18	U+0018
   93.30 +0x19	U+0019
   93.31 +0x1a	U+001a
   93.32 +0x1b	U+001b
   93.33 +0x1c	U+001c
   93.34 +0x1d	U+001d
   93.35 +0x1e	U+001e
   93.36 +0x1f	U+001f
   93.37 +0x20	U+0020
   93.38 +0x21	U+0021
   93.39 +0x22	U+0022
   93.40 +0x23	U+0023
   93.41 +0x24	U+0024
   93.42 +0x25	U+0025
   93.43 +0x26	U+0026
   93.44 +0x27	U+0027
   93.45 +0x28	U+0028
   93.46 +0x29	U+0029
   93.47 +0x2a	U+002a
   93.48 +0x2b	U+002b
   93.49 +0x2c	U+002c
   93.50 +0x2d	U+002d
   93.51 +0x2e	U+002e
   93.52 +0x2f	U+002f
   93.53 +0x30	U+0030
   93.54 +0x31	U+0031
   93.55 +0x32	U+0032
   93.56 +0x33	U+0033
   93.57 +0x34	U+0034
   93.58 +0x35	U+0035
   93.59 +0x36	U+0036
   93.60 +0x37	U+0037
   93.61 +0x38	U+0038
   93.62 +0x39	U+0039
   93.63 +0x3a	U+003a
   93.64 +0x3b	U+003b
   93.65 +0x3c	U+003c
   93.66 +0x3d	U+003d
   93.67 +0x3e	U+003e
   93.68 +0x3f	U+003f
   93.69 +0x40	U+0040
   93.70 +0x41	U+0041
   93.71 +0x42	U+0042
   93.72 +0x43	U+0043
   93.73 +0x44	U+0044
   93.74 +0x45	U+0045
   93.75 +0x46	U+0046
   93.76 +0x47	U+0047
   93.77 +0x48	U+0048
   93.78 +0x49	U+0049
   93.79 +0x4a	U+004a
   93.80 +0x4b	U+004b
   93.81 +0x4c	U+004c
   93.82 +0x4d	U+004d
   93.83 +0x4e	U+004e
   93.84 +0x4f	U+004f
   93.85 +0x50	U+0050
   93.86 +0x51	U+0051
   93.87 +0x52	U+0052
   93.88 +0x53	U+0053
   93.89 +0x54	U+0054
   93.90 +0x55	U+0055
   93.91 +0x56	U+0056
   93.92 +0x57	U+0057
   93.93 +0x58	U+0058
   93.94 +0x59	U+0059
   93.95 +0x5a	U+005a
   93.96 +0x5b	U+005b
   93.97 +0x5c	U+005c
   93.98 +0x5d	U+005d
   93.99 +0x5e	U+005e
  93.100 +0x5f	U+005f
  93.101 +0x60	U+0060
  93.102 +0x61	U+0061
  93.103 +0x62	U+0062
  93.104 +0x63	U+0063
  93.105 +0x64	U+0064
  93.106 +0x65	U+0065
  93.107 +0x66	U+0066
  93.108 +0x67	U+0067
  93.109 +0x68	U+0068
  93.110 +0x69	U+0069
  93.111 +0x6a	U+006a
  93.112 +0x6b	U+006b
  93.113 +0x6c	U+006c
  93.114 +0x6d	U+006d
  93.115 +0x6e	U+006e
  93.116 +0x6f	U+006f
  93.117 +0x70	U+0070
  93.118 +0x71	U+0071
  93.119 +0x72	U+0072
  93.120 +0x73	U+0073
  93.121 +0x74	U+0074
  93.122 +0x75	U+0075
  93.123 +0x76	U+0076
  93.124 +0x77	U+0077
  93.125 +0x78	U+0078
  93.126 +0x79	U+0079
  93.127 +0x7a	U+007a
  93.128 +0x7b	U+007b
  93.129 +0x7c	U+007c
  93.130 +0x7d	U+007d
  93.131 +0x7e	U+007e
  93.132 +0x7f	U+007f
  93.133 +0x80	U+00c7
  93.134 +0x81	U+00fc
  93.135 +0x82	U+00e9
  93.136 +0x83	U+00e2
  93.137 +0x84	U+00e4
  93.138 +0x85	U+00e0
  93.139 +0x86	U+00e5
  93.140 +0x87	U+00e7
  93.141 +0x88	U+00ea
  93.142 +0x89	U+00eb
  93.143 +0x8a	U+00e8
  93.144 +0x8b	U+00ef
  93.145 +0x8c	U+00ee
  93.146 +0x8d	U+0131
  93.147 +0x8e	U+00c4
  93.148 +0x8f	U+00c5
  93.149 +0x90	U+00c9
  93.150 +0x91	U+00e6
  93.151 +0x92	U+00c6
  93.152 +0x93	U+00f4
  93.153 +0x94	U+00f6
  93.154 +0x95	U+00f2
  93.155 +0x96	U+00fb
  93.156 +0x97	U+00f9
  93.157 +0x98	U+0130
  93.158 +0x99	U+00d6
  93.159 +0x9a	U+00dc
  93.160 +0x9b	U+00f8
  93.161 +0x9c	U+00a3
  93.162 +0x9d	U+00d8
  93.163 +0x9e	U+015e
  93.164 +0x9f	U+015f
  93.165 +0xa0	U+00e1
  93.166 +0xa1	U+00ed
  93.167 +0xa2	U+00f3
  93.168 +0xa3	U+00fa
  93.169 +0xa4	U+00f1
  93.170 +0xa5	U+00d1
  93.171 +0xa6	U+011e
  93.172 +0xa7	U+011f
  93.173 +0xa8	U+00bf
  93.174 +0xa9	U+00ae
  93.175 +0xaa	U+00ac
  93.176 +0xab	U+00bd
  93.177 +0xac	U+00bc
  93.178 +0xad	U+00a1
  93.179 +0xae	U+00ab
  93.180 +0xaf	U+00bb
  93.181 +0xb0	U+2591
  93.182 +0xb1	U+2592
  93.183 +0xb2	U+2593
  93.184 +0xb3	U+2502
  93.185 +0xb4	U+2524
  93.186 +0xb5	U+00c1
  93.187 +0xb6	U+00c2
  93.188 +0xb7	U+00c0
  93.189 +0xb8	U+00a9
  93.190 +0xb9	U+2563
  93.191 +0xba	U+2551
  93.192 +0xbb	U+2557
  93.193 +0xbc	U+255d
  93.194 +0xbd	U+00a2
  93.195 +0xbe	U+00a5
  93.196 +0xbf	U+2510
  93.197 +0xc0	U+2514
  93.198 +0xc1	U+2534
  93.199 +0xc2	U+252c
  93.200 +0xc3	U+251c
  93.201 +0xc4	U+2500
  93.202 +0xc5	U+253c
  93.203 +0xc6	U+00e3
  93.204 +0xc7	U+00c3
  93.205 +0xc8	U+255a
  93.206 +0xc9	U+2554
  93.207 +0xca	U+2569
  93.208 +0xcb	U+2566
  93.209 +0xcc	U+2560
  93.210 +0xcd	U+2550
  93.211 +0xce	U+256c
  93.212 +0xcf	U+00a4
  93.213 +0xd0	U+00ba
  93.214 +0xd1	U+00aa
  93.215 +0xd2	U+00ca
  93.216 +0xd3	U+00cb
  93.217 +0xd4	U+00c8
  93.218 +0xd5	U+fffd
  93.219 +0xd6	U+00cd
  93.220 +0xd7	U+00ce
  93.221 +0xd8	U+00cf
  93.222 +0xd9	U+2518
  93.223 +0xda	U+250c
  93.224 +0xdb	U+2588
  93.225 +0xdc	U+2584
  93.226 +0xdd	U+00a6
  93.227 +0xde	U+00cc
  93.228 +0xdf	U+2580
  93.229 +0xe0	U+00d3
  93.230 +0xe1	U+00df
  93.231 +0xe2	U+00d4
  93.232 +0xe3	U+00d2
  93.233 +0xe4	U+00f5
  93.234 +0xe5	U+00d5
  93.235 +0xe6	U+00b5
  93.236 +0xe7	U+fffd
  93.237 +0xe8	U+00d7
  93.238 +0xe9	U+00da
  93.239 +0xea	U+00db
  93.240 +0xeb	U+00d9
  93.241 +0xec	U+00ec
  93.242 +0xed	U+00ff
  93.243 +0xee	U+00af
  93.244 +0xef	U+00b4
  93.245 +0xf0	U+00ad
  93.246 +0xf1	U+00b1
  93.247 +0xf2	U+fffd
  93.248 +0xf3	U+00be
  93.249 +0xf4	U+00b6
  93.250 +0xf5	U+00a7
  93.251 +0xf6	U+00f7
  93.252 +0xf7	U+00b8
  93.253 +0xf8	U+00b0
  93.254 +0xf9	U+00a8
  93.255 +0xfa	U+00b7
  93.256 +0xfb	U+00b9
  93.257 +0xfc	U+00b3
  93.258 +0xfd	U+00b2
  93.259 +0xfe	U+25a0
  93.260 +0xff	U+00a0
    94.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    94.2 +++ b/make/tools/CharsetMapping/IBM858.map	Tue Jan 20 09:42:07 2009 -0800
    94.3 @@ -0,0 +1,257 @@
    94.4 +#Generated from IBM858.java
    94.5 +0x00	U+0000
    94.6 +0x01	U+0001
    94.7 +0x02	U+0002
    94.8 +0x03	U+0003
    94.9 +0x04	U+0004
   94.10 +0x05	U+0005
   94.11 +0x06	U+0006
   94.12 +0x07	U+0007
   94.13 +0x08	U+0008
   94.14 +0x09	U+0009
   94.15 +0x0a	U+000a
   94.16 +0x0b	U+000b
   94.17 +0x0c	U+000c
   94.18 +0x0d	U+000d
   94.19 +0x0e	U+000e
   94.20 +0x0f	U+000f
   94.21 +0x10	U+0010
   94.22 +0x11	U+0011
   94.23 +0x12	U+0012
   94.24 +0x13	U+0013
   94.25 +0x14	U+0014
   94.26 +0x15	U+0015
   94.27 +0x16	U+0016
   94.28 +0x17	U+0017
   94.29 +0x18	U+0018
   94.30 +0x19	U+0019
   94.31 +0x1a	U+001a
   94.32 +0x1b	U+001b
   94.33 +0x1c	U+001c
   94.34 +0x1d	U+001d
   94.35 +0x1e	U+001e
   94.36 +0x1f	U+001f
   94.37 +0x20	U+0020
   94.38 +0x21	U+0021
   94.39 +0x22	U+0022
   94.40 +0x23	U+0023
   94.41 +0x24	U+0024
   94.42 +0x25	U+0025
   94.43 +0x26	U+0026
   94.44 +0x27	U+0027
   94.45 +0x28	U+0028
   94.46 +0x29	U+0029
   94.47 +0x2a	U+002a
   94.48 +0x2b	U+002b
   94.49 +0x2c	U+002c
   94.50 +0x2d	U+002d
   94.51 +0x2e	U+002e
   94.52 +0x2f	U+002f
   94.53 +0x30	U+0030
   94.54 +0x31	U+0031
   94.55 +0x32	U+0032
   94.56 +0x33	U+0033
   94.57 +0x34	U+0034
   94.58 +0x35	U+0035
   94.59 +0x36	U+0036
   94.60 +0x37	U+0037
   94.61 +0x38	U+0038
   94.62 +0x39	U+0039
   94.63 +0x3a	U+003a
   94.64 +0x3b	U+003b
   94.65 +0x3c	U+003c
   94.66 +0x3d	U+003d
   94.67 +0x3e	U+003e
   94.68 +0x3f	U+003f
   94.69 +0x40	U+0040
   94.70 +0x41	U+0041
   94.71 +0x42	U+0042
   94.72 +0x43	U+0043
   94.73 +0x44	U+0044
   94.74 +0x45	U+0045
   94.75 +0x46	U+0046
   94.76 +0x47	U+0047
   94.77 +0x48	U+0048
   94.78 +0x49	U+0049
   94.79 +0x4a	U+004a
   94.80 +0x4b	U+004b
   94.81 +0x4c	U+004c
   94.82 +0x4d	U+004d
   94.83 +0x4e	U+004e
   94.84 +0x4f	U+004f
   94.85 +0x50	U+0050
   94.86 +0x51	U+0051
   94.87 +0x52	U+0052
   94.88 +0x53	U+0053
   94.89 +0x54	U+0054
   94.90 +0x55	U+0055
   94.91 +0x56	U+0056
   94.92 +0x57	U+0057
   94.93 +0x58	U+0058
   94.94 +0x59	U+0059
   94.95 +0x5a	U+005a
   94.96 +0x5b	U+005b
   94.97 +0x5c	U+005c
   94.98 +0x5d	U+005d
   94.99 +0x5e	U+005e
  94.100 +0x5f	U+005f
  94.101 +0x60	U+0060
  94.102 +0x61	U+0061
  94.103 +0x62	U+0062
  94.104 +0x63	U+0063
  94.105 +0x64	U+0064
  94.106 +0x65	U+0065
  94.107 +0x66	U+0066
  94.108 +0x67	U+0067
  94.109 +0x68	U+0068
  94.110 +0x69	U+0069
  94.111 +0x6a	U+006a
  94.112 +0x6b	U+006b
  94.113 +0x6c	U+006c
  94.114 +0x6d	U+006d
  94.115 +0x6e	U+006e
  94.116 +0x6f	U+006f
  94.117 +0x70	U+0070
  94.118 +0x71	U+0071
  94.119 +0x72	U+0072
  94.120 +0x73	U+0073
  94.121 +0x74	U+0074
  94.122 +0x75	U+0075
  94.123 +0x76	U+0076
  94.124 +0x77	U+0077
  94.125 +0x78	U+0078
  94.126 +0x79	U+0079
  94.127 +0x7a	U+007a
  94.128 +0x7b	U+007b
  94.129 +0x7c	U+007c
  94.130 +0x7d	U+007d
  94.131 +0x7e	U+007e
  94.132 +0x7f	U+007f
  94.133 +0x80	U+00c7
  94.134 +0x81	U+00fc
  94.135 +0x82	U+00e9
  94.136 +0x83	U+00e2
  94.137 +0x84	U+00e4
  94.138 +0x85	U+00e0
  94.139 +0x86	U+00e5
  94.140 +0x87	U+00e7
  94.141 +0x88	U+00ea
  94.142 +0x89	U+00eb
  94.143 +0x8a	U+00e8
  94.144 +0x8b	U+00ef
  94.145 +0x8c	U+00ee
  94.146 +0x8d	U+00ec
  94.147 +0x8e	U+00c4
  94.148 +0x8f	U+00c5
  94.149 +0x90	U+00c9
  94.150 +0x91	U+00e6
  94.151 +0x92	U+00c6
  94.152 +0x93	U+00f4
  94.153 +0x94	U+00f6
  94.154 +0x95	U+00f2
  94.155 +0x96	U+00fb
  94.156 +0x97	U+00f9
  94.157 +0x98	U+00ff
  94.158 +0x99	U+00d6
  94.159 +0x9a	U+00dc
  94.160 +0x9b	U+00f8
  94.161 +0x9c	U+00a3
  94.162 +0x9d	U+00d8
  94.163 +0x9e	U+00d7
  94.164 +0x9f	U+0192
  94.165 +0xa0	U+00e1
  94.166 +0xa1	U+00ed
  94.167 +0xa2	U+00f3
  94.168 +0xa3	U+00fa
  94.169 +0xa4	U+00f1
  94.170 +0xa5	U+00d1
  94.171 +0xa6	U+00aa
  94.172 +0xa7	U+00ba
  94.173 +0xa8	U+00bf
  94.174 +0xa9	U+00ae
  94.175 +0xaa	U+00ac
  94.176 +0xab	U+00bd
  94.177 +0xac	U+00bc
  94.178 +0xad	U+00a1
  94.179 +0xae	U+00ab
  94.180 +0xaf	U+00bb
  94.181 +0xb0	U+2591
  94.182 +0xb1	U+2592
  94.183 +0xb2	U+2593
  94.184 +0xb3	U+2502
  94.185 +0xb4	U+2524
  94.186 +0xb5	U+00c1
  94.187 +0xb6	U+00c2
  94.188 +0xb7	U+00c0
  94.189 +0xb8	U+00a9
  94.190 +0xb9	U+2563
  94.191 +0xba	U+2551
  94.192 +0xbb	U+2557
  94.193 +0xbc	U+255d
  94.194 +0xbd	U+00a2
  94.195 +0xbe	U+00a5
  94.196 +0xbf	U+2510
  94.197 +0xc0	U+2514
  94.198 +0xc1	U+2534
  94.199 +0xc2	U+252c
  94.200 +0xc3	U+251c
  94.201 +0xc4	U+2500
  94.202 +0xc5	U+253c
  94.203 +0xc6	U+00e3
  94.204 +0xc7	U+00c3
  94.205 +0xc8	U+255a
  94.206 +0xc9	U+2554
  94.207 +0xca	U+2569
  94.208 +0xcb	U+2566
  94.209 +0xcc	U+2560
  94.210 +0xcd	U+2550
  94.211 +0xce	U+256c
  94.212 +0xcf	U+00a4
  94.213 +0xd0	U+00f0
  94.214 +0xd1	U+00d0
  94.215 +0xd2	U+00ca
  94.216 +0xd3	U+00cb
  94.217 +0xd4	U+00c8
  94.218 +0xd5	U+20ac
  94.219 +0xd6	U+00cd
  94.220 +0xd7	U+00ce
  94.221 +0xd8	U+00cf
  94.222 +0xd9	U+2518
  94.223 +0xda	U+250c
  94.224 +0xdb	U+2588
  94.225 +0xdc	U+2584
  94.226 +0xdd	U+00a6
  94.227 +0xde	U+00cc
  94.228 +0xdf	U+2580
  94.229 +0xe0	U+00d3
  94.230 +0xe1	U+00df
  94.231 +0xe2	U+00d4
  94.232 +0xe3	U+00d2
  94.233 +0xe4	U+00f5
  94.234 +0xe5	U+00d5
  94.235 +0xe6	U+00b5
  94.236 +0xe7	U+00fe
  94.237 +0xe8	U+00de
  94.238 +0xe9	U+00da
  94.239 +0xea	U+00db
  94.240 +0xeb	U+00d9
  94.241 +0xec	U+00fd
  94.242 +0xed	U+00dd
  94.243 +0xee	U+00af
  94.244 +0xef	U+00b4
  94.245 +0xf0	U+00ad
  94.246 +0xf1	U+00b1
  94.247 +0xf2	U+2017
  94.248 +0xf3	U+00be
  94.249 +0xf4	U+00b6
  94.250 +0xf5	U+00a7
  94.251 +0xf6	U+00f7
  94.252 +0xf7	U+00b8
  94.253 +0xf8	U+00b0
  94.254 +0xf9	U+00a8
  94.255 +0xfa	U+00b7
  94.256 +0xfb	U+00b9
  94.257 +0xfc	U+00b3
  94.258 +0xfd	U+00b2
  94.259 +0xfe	U+25a0
  94.260 +0xff	U+00a0
    95.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    95.2 +++ b/make/tools/CharsetMapping/IBM860.map	Tue Jan 20 09:42:07 2009 -0800
    95.3 @@ -0,0 +1,257 @@
    95.4 +#Generated from IBM860.java
    95.5 +0x00	U+0000
    95.6 +0x01	U+0001
    95.7 +0x02	U+0002
    95.8 +0x03	U+0003
    95.9 +0x04	U+0004
   95.10 +0x05	U+0005
   95.11 +0x06	U+0006
   95.12 +0x07	U+0007
   95.13 +0x08	U+0008
   95.14 +0x09	U+0009
   95.15 +0x0a	U+000a
   95.16 +0x0b	U+000b
   95.17 +0x0c	U+000c
   95.18 +0x0d	U+000d
   95.19 +0x0e	U+000e
   95.20 +0x0f	U+000f
   95.21 +0x10	U+0010
   95.22 +0x11	U+0011
   95.23 +0x12	U+0012
   95.24 +0x13	U+0013
   95.25 +0x14	U+0014
   95.26 +0x15	U+0015
   95.27 +0x16	U+0016
   95.28 +0x17	U+0017
   95.29 +0x18	U+0018
   95.30 +0x19	U+0019
   95.31 +0x1a	U+001a
   95.32 +0x1b	U+001b
   95.33 +0x1c	U+001c
   95.34 +0x1d	U+001d
   95.35 +0x1e	U+001e
   95.36 +0x1f	U+001f
   95.37 +0x20	U+0020
   95.38 +0x21	U+0021
   95.39 +0x22	U+0022
   95.40 +0x23	U+0023
   95.41 +0x24	U+0024
   95.42 +0x25	U+0025
   95.43 +0x26	U+0026
   95.44 +0x27	U+0027
   95.45 +0x28	U+0028
   95.46 +0x29	U+0029
   95.47 +0x2a	U+002a
   95.48 +0x2b	U+002b
   95.49 +0x2c	U+002c
   95.50 +0x2d	U+002d
   95.51 +0x2e	U+002e
   95.52 +0x2f	U+002f
   95.53 +0x30	U+0030
   95.54 +0x31	U+0031
   95.55 +0x32	U+0032
   95.56 +0x33	U+0033
   95.57 +0x34	U+0034
   95.58 +0x35	U+0035
   95.59 +0x36	U+0036
   95.60 +0x37	U+0037
   95.61 +0x38	U+0038
   95.62 +0x39	U+0039
   95.63 +0x3a	U+003a
   95.64 +0x3b	U+003b
   95.65 +0x3c	U+003c
   95.66 +0x3d	U+003d
   95.67 +0x3e	U+003e
   95.68 +0x3f	U+003f
   95.69 +0x40	U+0040
   95.70 +0x41	U+0041
   95.71 +0x42	U+0042
   95.72 +0x43	U+0043
   95.73 +0x44	U+0044
   95.74 +0x45	U+0045
   95.75 +0x46	U+0046
   95.76 +0x47	U+0047
   95.77 +0x48	U+0048
   95.78 +0x49	U+0049
   95.79 +0x4a	U+004a
   95.80 +0x4b	U+004b
   95.81 +0x4c	U+004c
   95.82 +0x4d	U+004d
   95.83 +0x4e	U+004e
   95.84 +0x4f	U+004f
   95.85 +0x50	U+0050
   95.86 +0x51	U+0051
   95.87 +0x52	U+0052
   95.88 +0x53	U+0053
   95.89 +0x54	U+0054
   95.90 +0x55	U+0055
   95.91 +0x56	U+0056
   95.92 +0x57	U+0057
   95.93 +0x58	U+0058
   95.94 +0x59	U+0059
   95.95 +0x5a	U+005a
   95.96 +0x5b	U+005b
   95.97 +0x5c	U+005c
   95.98 +0x5d	U+005d
   95.99 +0x5e	U+005e
  95.100 +0x5f	U+005f
  95.101 +0x60	U+0060
  95.102 +0x61	U+0061
  95.103 +0x62	U+0062
  95.104 +0x63	U+0063
  95.105 +0x64	U+0064
  95.106 +0x65	U+0065
  95.107 +0x66	U+0066
  95.108 +0x67	U+0067
  95.109 +0x68	U+0068
  95.110 +0x69	U+0069
  95.111 +0x6a	U+006a
  95.112 +0x6b	U+006b
  95.113 +0x6c	U+006c
  95.114 +0x6d	U+006d
  95.115 +0x6e	U+006e
  95.116 +0x6f	U+006f
  95.117 +0x70	U+0070
  95.118 +0x71	U+0071
  95.119 +0x72	U+0072
  95.120 +0x73	U+0073
  95.121 +0x74	U+0074
  95.122 +0x75	U+0075
  95.123 +0x76	U+0076
  95.124 +0x77	U+0077
  95.125 +0x78	U+0078
  95.126 +0x79	U+0079
  95.127 +0x7a	U+007a
  95.128 +0x7b	U+007b
  95.129 +0x7c	U+007c
  95.130 +0x7d	U+007d
  95.131 +0x7e	U+007e
  95.132 +0x7f	U+007f
  95.133 +0x80	U+00c7
  95.134 +0x81	U+00fc
  95.135 +0x82	U+00e9
  95.136 +0x83	U+00e2
  95.137 +0x84	U+00e3
  95.138 +0x85	U+00e0
  95.139 +0x86	U+00c1
  95.140 +0x87	U+00e7
  95.141 +0x88	U+00ea
  95.142 +0x89	U+00ca
  95.143 +0x8a	U+00e8
  95.144 +0x8b	U+00cd
  95.145 +0x8c	U+00d4
  95.146 +0x8d	U+00ec
  95.147 +0x8e	U+00c3
  95.148 +0x8f	U+00c2
  95.149 +0x90	U+00c9
  95.150 +0x91	U+00c0
  95.151 +0x92	U+00c8
  95.152 +0x93	U+00f4
  95.153 +0x94	U+00f5
  95.154 +0x95	U+00f2
  95.155 +0x96	U+00da
  95.156 +0x97	U+00f9
  95.157 +0x98	U+00cc
  95.158 +0x99	U+00d5
  95.159 +0x9a	U+00dc
  95.160 +0x9b	U+00a2
  95.161 +0x9c	U+00a3
  95.162 +0x9d	U+00d9
  95.163 +0x9e	U+20a7
  95.164 +0x9f	U+00d3
  95.165 +0xa0	U+00e1
  95.166 +0xa1	U+00ed
  95.167 +0xa2	U+00f3
  95.168 +0xa3	U+00fa
  95.169 +0xa4	U+00f1
  95.170 +0xa5	U+00d1
  95.171 +0xa6	U+00aa
  95.172 +0xa7	U+00ba
  95.173 +0xa8	U+00bf
  95.174 +0xa9	U+00d2
  95.175 +0xaa	U+00ac
  95.176 +0xab	U+00bd
  95.177 +0xac	U+00bc
  95.178 +0xad	U+00a1
  95.179 +0xae	U+00ab
  95.180 +0xaf	U+00bb
  95.181 +0xb0	U+2591
  95.182 +0xb1	U+2592
  95.183 +0xb2	U+2593
  95.184 +0xb3	U+2502
  95.185 +0xb4	U+2524
  95.186 +0xb5	U+2561
  95.187 +0xb6	U+2562
  95.188 +0xb7	U+2556
  95.189 +0xb8	U+2555
  95.190 +0xb9	U+2563
  95.191 +0xba	U+2551
  95.192 +0xbb	U+2557
  95.193 +0xbc	U+255d
  95.194 +0xbd	U+255c
  95.195 +0xbe	U+255b
  95.196 +0xbf	U+2510
  95.197 +0xc0	U+2514
  95.198 +0xc1	U+2534
  95.199 +0xc2	U+252c
  95.200 +0xc3	U+251c
  95.201 +0xc4	U+2500
  95.202 +0xc5	U+253c
  95.203 +0xc6	U+255e
  95.204 +0xc7	U+255f
  95.205 +0xc8	U+255a
  95.206 +0xc9	U+2554
  95.207 +0xca	U+2569
  95.208 +0xcb	U+2566
  95.209 +0xcc	U+2560
  95.210 +0xcd	U+2550
  95.211 +0xce	U+256c
  95.212 +0xcf	U+2567
  95.213 +0xd0	U+2568
  95.214 +0xd1	U+2564
  95.215 +0xd2	U+2565
  95.216 +0xd3	U+2559
  95.217 +0xd4	U+2558
  95.218 +0xd5	U+2552
  95.219 +0xd6	U+2553
  95.220 +0xd7	U+256b
  95.221 +0xd8	U+256a
  95.222 +0xd9	U+2518
  95.223 +0xda	U+250c
  95.224 +0xdb	U+2588
  95.225 +0xdc	U+2584
  95.226 +0xdd	U+258c
  95.227 +0xde	U+2590
  95.228 +0xdf	U+2580
  95.229 +0xe0	U+03b1
  95.230 +0xe1	U+00df
  95.231 +0xe2	U+0393
  95.232 +0xe3	U+03c0
  95.233 +0xe4	U+03a3
  95.234 +0xe5	U+03c3
  95.235 +0xe6	U+00b5
  95.236 +0xe7	U+03c4
  95.237 +0xe8	U+03a6
  95.238 +0xe9	U+0398
  95.239 +0xea	U+03a9
  95.240 +0xeb	U+03b4
  95.241 +0xec	U+221e
  95.242 +0xed	U+03c6
  95.243 +0xee	U+03b5
  95.244 +0xef	U+2229
  95.245 +0xf0	U+2261
  95.246 +0xf1	U+00b1
  95.247 +0xf2	U+2265
  95.248 +0xf3	U+2264
  95.249 +0xf4	U+2320
  95.250 +0xf5	U+2321
  95.251 +0xf6	U+00f7
  95.252 +0xf7	U+2248
  95.253 +0xf8	U+00b0
  95.254 +0xf9	U+2219
  95.255 +0xfa	U+00b7
  95.256 +0xfb	U+221a
  95.257 +0xfc	U+207f
  95.258 +0xfd	U+00b2
  95.259 +0xfe	U+25a0
  95.260 +0xff	U+00a0
    96.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    96.2 +++ b/make/tools/CharsetMapping/IBM861.map	Tue Jan 20 09:42:07 2009 -0800
    96.3 @@ -0,0 +1,257 @@
    96.4 +#Generated from IBM861.java
    96.5 +0x00	U+0000
    96.6 +0x01	U+0001
    96.7 +0x02	U+0002
    96.8 +0x03	U+0003
    96.9 +0x04	U+0004
   96.10 +0x05	U+0005
   96.11 +0x06	U+0006
   96.12 +0x07	U+0007
   96.13 +0x08	U+0008
   96.14 +0x09	U+0009
   96.15 +0x0a	U+000a
   96.16 +0x0b	U+000b
   96.17 +0x0c	U+000c
   96.18 +0x0d	U+000d
   96.19 +0x0e	U+000e
   96.20 +0x0f	U+000f
   96.21 +0x10	U+0010
   96.22 +0x11	U+0011
   96.23 +0x12	U+0012
   96.24 +0x13	U+0013
   96.25 +0x14	U+0014
   96.26 +0x15	U+0015
   96.27 +0x16	U+0016
   96.28 +0x17	U+0017
   96.29 +0x18	U+0018
   96.30 +0x19	U+0019
   96.31 +0x1a	U+001a
   96.32 +0x1b	U+001b
   96.33 +0x1c	U+001c
   96.34 +0x1d	U+001d
   96.35 +0x1e	U+001e
   96.36 +0x1f	U+001f
   96.37 +0x20	U+0020
   96.38 +0x21	U+0021
   96.39 +0x22	U+0022
   96.40 +0x23	U+0023
   96.41 +0x24	U+0024
   96.42 +0x25	U+0025
   96.43 +0x26	U+0026
   96.44 +0x27	U+0027
   96.45 +0x28	U+0028
   96.46 +0x29	U+0029
   96.47 +0x2a	U+002a
   96.48 +0x2b	U+002b
   96.49 +0x2c	U+002c
   96.50 +0x2d	U+002d
   96.51 +0x2e	U+002e
   96.52 +0x2f	U+002f
   96.53 +0x30	U+0030
   96.54 +0x31	U+0031
   96.55 +0x32	U+0032
   96.56 +0x33	U+0033
   96.57 +0x34	U+0034
   96.58 +0x35	U+0035
   96.59 +0x36	U+0036
   96.60 +0x37	U+0037
   96.61 +0x38	U+0038
   96.62 +0x39	U+0039
   96.63 +0x3a	U+003a
   96.64 +0x3b	U+003b
   96.65 +0x3c	U+003c
   96.66 +0x3d	U+003d
   96.67 +0x3e	U+003e
   96.68 +0x3f	U+003f
   96.69 +0x40	U+0040
   96.70 +0x41	U+0041
   96.71 +0x42	U+0042
   96.72 +0x43	U+0043
   96.73 +0x44	U+0044
   96.74 +0x45	U+0045
   96.75 +0x46	U+0046
   96.76 +0x47	U+0047
   96.77 +0x48	U+0048
   96.78 +0x49	U+0049
   96.79 +0x4a	U+004a
   96.80 +0x4b	U+004b
   96.81 +0x4c	U+004c
   96.82 +0x4d	U+004d
   96.83 +0x4e	U+004e
   96.84 +0x4f	U+004f
   96.85 +0x50	U+0050
   96.86 +0x51	U+0051
   96.87 +0x52	U+0052
   96.88 +0x53	U+0053
   96.89 +0x54	U+0054
   96.90 +0x55	U+0055
   96.91 +0x56	U+0056
   96.92 +0x57	U+0057
   96.93 +0x58	U+0058
   96.94 +0x59	U+0059
   96.95 +0x5a	U+005a
   96.96 +0x5b	U+005b
   96.97 +0x5c	U+005c
   96.98 +0x5d	U+005d
   96.99 +0x5e	U+005e
  96.100 +0x5f	U+005f
  96.101 +0x60	U+0060
  96.102 +0x61	U+0061
  96.103 +0x62	U+0062
  96.104 +0x63	U+0063
  96.105 +0x64	U+0064
  96.106 +0x65	U+0065
  96.107 +0x66	U+0066
  96.108 +0x67	U+0067
  96.109 +0x68	U+0068
  96.110 +0x69	U+0069
  96.111 +0x6a	U+006a
  96.112 +0x6b	U+006b
  96.113 +0x6c	U+006c
  96.114 +0x6d	U+006d
  96.115 +0x6e	U+006e
  96.116 +0x6f	U+006f
  96.117 +0x70	U+0070
  96.118 +0x71	U+0071
  96.119 +0x72	U+0072
  96.120 +0x73	U+0073
  96.121 +0x74	U+0074
  96.122 +0x75	U+0075
  96.123 +0x76	U+0076
  96.124 +0x77	U+0077
  96.125 +0x78	U+0078
  96.126 +0x79	U+0079
  96.127 +0x7a	U+007a
  96.128 +0x7b	U+007b
  96.129 +0x7c	U+007c
  96.130 +0x7d	U+007d
  96.131 +0x7e	U+007e
  96.132 +0x7f	U+007f
  96.133 +0x80	U+00c7
  96.134 +0x81	U+00fc
  96.135 +0x82	U+00e9
  96.136 +0x83	U+00e2
  96.137 +0x84	U+00e4
  96.138 +0x85	U+00e0
  96.139 +0x86	U+00e5
  96.140 +0x87	U+00e7
  96.141 +0x88	U+00ea
  96.142 +0x89	U+00eb
  96.143 +0x8a	U+00e8
  96.144 +0x8b	U+00d0
  96.145 +0x8c	U+00f0
  96.146 +0x8d	U+00de
  96.147 +0x8e	U+00c4
  96.148 +0x8f	U+00c5
  96.149 +0x90	U+00c9
  96.150 +0x91	U+00e6
  96.151 +0x92	U+00c6
  96.152 +0x93	U+00f4
  96.153 +0x94	U+00f6
  96.154 +0x95	U+00fe
  96.155 +0x96	U+00fb
  96.156 +0x97	U+00dd
  96.157 +0x98	U+00fd
  96.158 +0x99	U+00d6
  96.159 +0x9a	U+00dc
  96.160 +0x9b	U+00f8
  96.161 +0x9c	U+00a3
  96.162 +0x9d	U+00d8
  96.163 +0x9e	U+20a7
  96.164 +0x9f	U+0192
  96.165 +0xa0	U+00e1
  96.166 +0xa1	U+00ed
  96.167 +0xa2	U+00f3
  96.168 +0xa3	U+00fa
  96.169 +0xa4	U+00c1
  96.170 +0xa5	U+00cd
  96.171 +0xa6	U+00d3
  96.172 +0xa7	U+00da
  96.173 +0xa8	U+00bf
  96.174 +0xa9	U+2310
  96.175 +0xaa	U+00ac
  96.176 +0xab	U+00bd
  96.177 +0xac	U+00bc
  96.178 +0xad	U+00a1
  96.179 +0xae	U+00ab
  96.180 +0xaf	U+00bb
  96.181 +0xb0	U+2591
  96.182 +0xb1	U+2592
  96.183 +0xb2	U+2593
  96.184 +0xb3	U+2502
  96.185 +0xb4	U+2524
  96.186 +0xb5	U+2561
  96.187 +0xb6	U+2562
  96.188 +0xb7	U+2556
  96.189 +0xb8	U+2555
  96.190 +0xb9	U+2563
  96.191 +0xba	U+2551
  96.192 +0xbb	U+2557
  96.193 +0xbc	U+255d
  96.194 +0xbd	U+255c
  96.195 +0xbe	U+255b
  96.196 +0xbf	U+2510
  96.197 +0xc0	U+2514
  96.198 +0xc1	U+2534
  96.199 +0xc2	U+252c
  96.200 +0xc3	U+251c
  96.201 +0xc4	U+2500
  96.202 +0xc5	U+253c
  96.203 +0xc6	U+255e
  96.204 +0xc7	U+255f
  96.205 +0xc8	U+255a
  96.206 +0xc9	U+2554
  96.207 +0xca	U+2569
  96.208 +0xcb	U+2566
  96.209 +0xcc	U+2560
  96.210 +0xcd	U+2550
  96.211 +0xce	U+256c
  96.212 +0xcf	U+2567
  96.213 +0xd0	U+2568
  96.214 +0xd1	U+2564
  96.215 +0xd2	U+2565
  96.216 +0xd3	U+2559
  96.217 +0xd4	U+2558
  96.218 +0xd5	U+2552
  96.219 +0xd6	U+2553
  96.220 +0xd7	U+256b
  96.221 +0xd8	U+256a
  96.222 +0xd9	U+2518
  96.223 +0xda	U+250c
  96.224 +0xdb	U+2588
  96.225 +0xdc	U+2584
  96.226 +0xdd	U+258c
  96.227 +0xde	U+2590
  96.228 +0xdf	U+2580
  96.229 +0xe0	U+03b1
  96.230 +0xe1	U+00df
  96.231 +0xe2	U+0393
  96.232 +0xe3	U+03c0
  96.233 +0xe4	U+03a3
  96.234 +0xe5	U+03c3
  96.235 +0xe6	U+00b5
  96.236 +0xe7	U+03c4
  96.237 +0xe8	U+03a6
  96.238 +0xe9	U+0398
  96.239 +0xea	U+03a9
  96.240 +0xeb	U+03b4
  96.241 +0xec	U+221e
  96.242 +0xed	U+03c6
  96.243 +0xee	U+03b5
  96.244 +0xef	U+2229
  96.245 +0xf0	U+2261
  96.246 +0xf1	U+00b1
  96.247 +0xf2	U+2265
  96.248 +0xf3	U+2264
  96.249 +0xf4	U+2320
  96.250 +0xf5	U+2321
  96.251 +0xf6	U+00f7
  96.252 +0xf7	U+2248
  96.253 +0xf8	U+00b0
  96.254 +0xf9	U+2219
  96.255 +0xfa	U+00b7
  96.256 +0xfb	U+221a
  96.257 +0xfc	U+207f
  96.258 +0xfd	U+00b2
  96.259 +0xfe	U+25a0
  96.260 +0xff	U+00a0
    97.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    97.2 +++ b/make/tools/CharsetMapping/IBM862.map	Tue Jan 20 09:42:07 2009 -0800
    97.3 @@ -0,0 +1,257 @@
    97.4 +#Generated from IBM862.java
    97.5 +0x00	U+0000
    97.6 +0x01	U+0001
    97.7 +0x02	U+0002
    97.8 +0x03	U+0003
    97.9 +0x04	U+0004
   97.10 +0x05	U+0005
   97.11 +0x06	U+0006
   97.12 +0x07	U+0007
   97.13 +0x08	U+0008
   97.14 +0x09	U+0009
   97.15 +0x0a	U+000a
   97.16 +0x0b	U+000b
   97.17 +0x0c	U+000c
   97.18 +0x0d	U+000d
   97.19 +0x0e	U+000e
   97.20 +0x0f	U+000f
   97.21 +0x10	U+0010
   97.22 +0x11	U+0011
   97.23 +0x12	U+0012
   97.24 +0x13	U+0013
   97.25 +0x14	U+0014
   97.26 +0x15	U+0015
   97.27 +0x16	U+0016
   97.28 +0x17	U+0017
   97.29 +0x18	U+0018
   97.30 +0x19	U+0019
   97.31 +0x1a	U+001a
   97.32 +0x1b	U+001b
   97.33 +0x1c	U+001c
   97.34 +0x1d	U+001d
   97.35 +0x1e	U+001e
   97.36 +0x1f	U+001f
   97.37 +0x20	U+0020
   97.38 +0x21	U+0021
   97.39 +0x22	U+0022
   97.40 +0x23	U+0023
   97.41 +0x24	U+0024
   97.42 +0x25	U+0025
   97.43 +0x26	U+0026
   97.44 +0x27	U+0027
   97.45 +0x28	U+0028
   97.46 +0x29	U+0029
   97.47 +0x2a	U+002a
   97.48 +0x2b	U+002b
   97.49 +0x2c	U+002c
   97.50 +0x2d	U+002d
   97.51 +0x2e	U+002e
   97.52 +0x2f	U+002f
   97.53 +0x30	U+0030
   97.54 +0x31	U+0031
   97.55 +0x32	U+0032
   97.56 +0x33	U+0033
   97.57 +0x34	U+0034
   97.58 +0x35	U+0035
   97.59 +0x36	U+0036
   97.60 +0x37	U+0037
   97.61 +0x38	U+0038
   97.62 +0x39	U+0039
   97.63 +0x3a	U+003a
   97.64 +0x3b	U+003b
   97.65 +0x3c	U+003c
   97.66 +0x3d	U+003d
   97.67 +0x3e	U+003e
   97.68 +0x3f	U+003f
   97.69 +0x40	U+0040
   97.70 +0x41	U+0041
   97.71 +0x42	U+0042
   97.72 +0x43	U+0043
   97.73 +0x44	U+0044
   97.74 +0x45	U+0045
   97.75 +0x46	U+0046
   97.76 +0x47	U+0047
   97.77 +0x48	U+0048
   97.78 +0x49	U+0049
   97.79 +0x4a	U+004a
   97.80 +0x4b	U+004b
   97.81 +0x4c	U+004c
   97.82 +0x4d	U+004d
   97.83 +0x4e	U+004e
   97.84 +0x4f	U+004f
   97.85 +0x50	U+0050
   97.86 +0x51	U+0051
   97.87 +0x52	U+0052
   97.88 +0x53	U+0053
   97.89 +0x54	U+0054
   97.90 +0x55	U+0055
   97.91 +0x56	U+0056
   97.92 +0x57	U+0057
   97.93 +0x58	U+0058
   97.94 +0x59	U+0059
   97.95 +0x5a	U+005a
   97.96 +0x5b	U+005b
   97.97 +0x5c	U+005c
   97.98 +0x5d	U+005d
   97.99 +0x5e	U+005e
  97.100 +0x5f	U+005f
  97.101 +0x60	U+0060
  97.102 +0x61	U+0061
  97.103 +0x62	U+0062
  97.104 +0x63	U+0063
  97.105 +0x64	U+0064
  97.106 +0x65	U+0065
  97.107 +0x66	U+0066
  97.108 +0x67	U+0067
  97.109 +0x68	U+0068
  97.110 +0x69	U+0069
  97.111 +0x6a	U+006a
  97.112 +0x6b	U+006b
  97.113 +0x6c	U+006c
  97.114 +0x6d	U+006d
  97.115 +0x6e	U+006e
  97.116 +0x6f	U+006f
  97.117 +0x70	U+0070
  97.118 +0x71	U+0071
  97.119 +0x72	U+0072
  97.120 +0x73	U+0073
  97.121 +0x74	U+0074
  97.122 +0x75	U+0075
  97.123 +0x76	U+0076
  97.124 +0x77	U+0077
  97.125 +0x78	U+0078
  97.126 +0x79	U+0079
  97.127 +0x7a	U+007a
  97.128 +0x7b	U+007b
  97.129 +0x7c	U+007c
  97.130 +0x7d	U+007d
  97.131 +0x7e	U+007e
  97.132 +0x7f	U+007f
  97.133 +0x80	U+05d0
  97.134 +0x81	U+05d1
  97.135 +0x82	U+05d2
  97.136 +0x83	U+05d3
  97.137 +0x84	U+05d4
  97.138 +0x85	U+05d5
  97.139 +0x86	U+05d6
  97.140 +0x87	U+05d7
  97.141 +0x88	U+05d8
  97.142 +0x89	U+05d9
  97.143 +0x8a	U+05da
  97.144 +0x8b	U+05db
  97.145 +0x8c	U+05dc
  97.146 +0x8d	U+05dd
  97.147 +0x8e	U+05de
  97.148 +0x8f	U+05df
  97.149 +0x90	U+05e0
  97.150 +0x91	U+05e1
  97.151 +0x92	U+05e2
  97.152 +0x93	U+05e3
  97.153 +0x94	U+05e4
  97.154 +0x95	U+05e5
  97.155 +0x96	U+05e6
  97.156 +0x97	U+05e7
  97.157 +0x98	U+05e8
  97.158 +0x99	U+05e9
  97.159 +0x9a	U+05ea
  97.160 +0x9b	U+00a2
  97.161 +0x9c	U+00a3
  97.162 +0x9d	U+00a5
  97.163 +0x9e	U+20a7
  97.164 +0x9f	U+0192
  97.165 +0xa0	U+00e1
  97.166 +0xa1	U+00ed
  97.167 +0xa2	U+00f3
  97.168 +0xa3	U+00fa
  97.169 +0xa4	U+00f1
  97.170 +0xa5	U+00d1
  97.171 +0xa6	U+00aa
  97.172 +0xa7	U+00ba
  97.173 +0xa8	U+00bf
  97.174 +0xa9	U+2310
  97.175 +0xaa	U+00ac
  97.176 +0xab	U+00bd
  97.177 +0xac	U+00bc
  97.178 +0xad	U+00a1
  97.179 +0xae	U+00ab
  97.180 +0xaf	U+00bb
  97.181 +0xb0	U+2591
  97.182 +0xb1	U+2592
  97.183 +0xb2	U+2593
  97.184 +0xb3	U+2502
  97.185 +0xb4	U+2524
  97.186 +0xb5	U+2561
  97.187 +0xb6	U+2562
  97.188 +0xb7	U+2556
  97.189 +0xb8	U+2555
  97.190 +0xb9	U+2563
  97.191 +0xba	U+2551
  97.192 +0xbb	U+2557
  97.193 +0xbc	U+255d
  97.194 +0xbd	U+255c
  97.195 +0xbe	U+255b
  97.196 +0xbf	U+2510
  97.197 +0xc0	U+2514
  97.198 +0xc1	U+2534
  97.199 +0xc2	U+252c
  97.200 +0xc3	U+251c
  97.201 +0xc4	U+2500
  97.202 +0xc5	U+253c
  97.203 +0xc6	U+255e
  97.204 +0xc7	U+255f
  97.205 +0xc8	U+255a
  97.206 +0xc9	U+2554
  97.207 +0xca	U+2569
  97.208 +0xcb	U+2566
  97.209 +0xcc	U+2560
  97.210 +0xcd	U+2550
  97.211 +0xce	U+256c
  97.212 +0xcf	U+2567
  97.213 +0xd0	U+2568
  97.214 +0xd1	U+2564
  97.215 +0xd2	U+2565
  97.216 +0xd3	U+2559
  97.217 +0xd4	U+2558
  97.218 +0xd5	U+2552
  97.219 +0xd6	U+2553
  97.220 +0xd7	U+256b
  97.221 +0xd8	U+256a
  97.222 +0xd9	U+2518
  97.223 +0xda	U+250c
  97.224 +0xdb	U+2588
  97.225 +0xdc	U+2584
  97.226 +0xdd	U+258c
  97.227 +0xde	U+2590
  97.228 +0xdf	U+2580
  97.229 +0xe0	U+03b1
  97.230 +0xe1	U+00df
  97.231 +0xe2	U+0393
  97.232 +0xe3	U+03c0
  97.233 +0xe4	U+03a3
  97.234 +0xe5	U+03c3
  97.235 +0xe6	U+00b5
  97.236 +0xe7	U+03c4
  97.237 +0xe8	U+03a6
  97.238 +0xe9	U+0398
  97.239 +0xea	U+03a9
  97.240 +0xeb	U+03b4
  97.241 +0xec	U+221e
  97.242 +0xed	U+03c6
  97.243 +0xee	U+03b5
  97.244 +0xef	U+2229
  97.245 +0xf0	U+2261
  97.246 +0xf1	U+00b1
  97.247 +0xf2	U+2265
  97.248 +0xf3	U+2264
  97.249 +0xf4	U+2320
  97.250 +0xf5	U+2321
  97.251 +0xf6	U+00f7
  97.252 +0xf7	U+2248
  97.253 +0xf8	U+00b0
  97.254 +0xf9	U+2219
  97.255 +0xfa	U+00b7
  97.256 +0xfb	U+221a
  97.257 +0xfc	U+207f
  97.258 +0xfd	U+00b2
  97.259 +0xfe	U+25a0
  97.260 +0xff	U+00a0
    98.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    98.2 +++ b/make/tools/CharsetMapping/IBM863.map	Tue Jan 20 09:42:07 2009 -0800
    98.3 @@ -0,0 +1,257 @@
    98.4 +#Generated from IBM863.java
    98.5 +0x00	U+0000
    98.6 +0x01	U+0001
    98.7 +0x02	U+0002
    98.8 +0x03	U+0003
    98.9 +0x04	U+0004
   98.10 +0x05	U+0005
   98.11 +0x06	U+0006
   98.12 +0x07	U+0007
   98.13 +0x08	U+0008
   98.14 +0x09	U+0009
   98.15 +0x0a	U+000a
   98.16 +0x0b	U+000b
   98.17 +0x0c	U+000c
   98.18 +0x0d	U+000d
   98.19 +0x0e	U+000e
   98.20 +0x0f	U+000f
   98.21 +0x10	U+0010
   98.22 +0x11	U+0011
   98.23 +0x12	U+0012
   98.24 +0x13	U+0013
   98.25 +0x14	U+0014
   98.26 +0x15	U+0015
   98.27 +0x16	U+0016
   98.28 +0x17	U+0017
   98.29 +0x18	U+0018
   98.30 +0x19	U+0019
   98.31 +0x1a	U+001a
   98.32 +0x1b	U+001b
   98.33 +0x1c	U+001c
   98.34 +0x1d	U+001d
   98.35 +0x1e	U+001e
   98.36 +0x1f	U+001f
   98.37 +0x20	U+0020
   98.38 +0x21	U+0021
   98.39 +0x22	U+0022
   98.40 +0x23	U+0023
   98.41 +0x24	U+0024
   98.42 +0x25	U+0025
   98.43 +0x26	U+0026
   98.44 +0x27	U+0027
   98.45 +0x28	U+0028
   98.46 +0x29	U+0029
   98.47 +0x2a	U+002a
   98.48 +0x2b	U+002b
   98.49 +0x2c	U+002c
   98.50 +0x2d	U+002d
   98.51 +0x2e	U+002e
   98.52 +0x2f	U+002f
   98.53 +0x30	U+0030
   98.54 +0x31	U+0031
   98.55 +0x32	U+0032
   98.56 +0x33	U+0033
   98.57 +0x34	U+0034
   98.58 +0x35	U+0035
   98.59 +0x36	U+0036
   98.60 +0x37	U+0037
   98.61 +0x38	U+0038
   98.62 +0x39	U+0039
   98.63 +0x3a	U+003a
   98.64 +0x3b	U+003b
   98.65 +0x3c	U+003c
   98.66 +0x3d	U+003d
   98.67 +0x3e	U+003e
   98.68 +0x3f	U+003f
   98.69 +0x40	U+0040
   98.70 +0x41	U+0041
   98.71 +0x42	U+0042
   98.72 +0x43	U+0043
   98.73 +0x44	U+0044
   98.74 +0x45	U+0045
   98.75 +0x46	U+0046
   98.76 +0x47	U+0047
   98.77 +0x48	U+0048
   98.78 +0x49	U+0049
   98.79 +0x4a	U+004a
   98.80 +0x4b	U+004b
   98.81 +0x4c	U+004c
   98.82 +0x4d	U+004d
   98.83 +0x4e	U+004e
   98.84 +0x4f	U+004f
   98.85 +0x50	U+0050
   98.86 +0x51	U+0051
   98.87 +0x52	U+0052
   98.88 +0x53	U+0053
   98.89 +0x54	U+0054
   98.90 +0x55	U+0055
   98.91 +0x56	U+0056
   98.92 +0x57	U+0057
   98.93 +0x58	U+0058
   98.94 +0x59	U+0059
   98.95 +0x5a	U+005a
   98.96 +0x5b	U+005b
   98.97 +0x5c	U+005c
   98.98 +0x5d	U+005d
   98.99 +0x5e	U+005e
  98.100 +0x5f	U+005f
  98.101 +0x60	U+0060
  98.102 +0x61	U+0061
  98.103 +0x62	U+0062
  98.104 +0x63	U+0063
  98.105 +0x64	U+0064
  98.106 +0x65	U+0065
  98.107 +0x66	U+0066
  98.108 +0x67	U+0067
  98.109 +0x68	U+0068
  98.110 +0x69	U+0069
  98.111 +0x6a	U+006a
  98.112 +0x6b	U+006b
  98.113 +0x6c	U+006c
  98.114 +0x6d	U+006d
  98.115 +0x6e	U+006e
  98.116 +0x6f	U+006f
  98.117 +0x70	U+0070
  98.118 +0x71	U+0071
  98.119 +0x72	U+0072
  98.120 +0x73	U+0073
  98.121 +0x74	U+0074
  98.122 +0x75	U+0075
  98.123 +0x76	U+0076
  98.124 +0x77	U+0077
  98.125 +0x78	U+0078
  98.126 +0x79	U+0079
  98.127 +0x7a	U+007a
  98.128 +0x7b	U+007b
  98.129 +0x7c	U+007c
  98.130 +0x7d	U+007d
  98.131 +0x7e	U+007e
  98.132 +0x7f	U+007f
  98.133 +0x80	U+00c7
  98.134 +0x81	U+00fc
  98.135 +0x82	U+00e9
  98.136 +0x83	U+00e2
  98.137 +0x84	U+00c2
  98.138 +0x85	U+00e0
  98.139 +0x86	U+00b6
  98.140 +0x87	U+00e7
  98.141 +0x88	U+00ea
  98.142 +0x89	U+00eb
  98.143 +0x8a	U+00e8
  98.144 +0x8b	U+00ef
  98.145 +0x8c	U+00ee
  98.146 +0x8d	U+2017
  98.147 +0x8e	U+00c0
  98.148 +0x8f	U+00a7
  98.149 +0x90	U+00c9
  98.150 +0x91	U+00c8
  98.151 +0x92	U+00ca
  98.152 +0x93	U+00f4
  98.153 +0x94	U+00cb
  98.154 +0x95	U+00cf
  98.155 +0x96	U+00fb
  98.156 +0x97	U+00f9
  98.157 +0x98	U+00a4
  98.158 +0x99	U+00d4
  98.159 +0x9a	U+00dc
  98.160 +0x9b	U+00a2
  98.161 +0x9c	U+00a3
  98.162 +0x9d	U+00d9
  98.163 +0x9e	U+00db
  98.164 +0x9f	U+0192
  98.165 +0xa0	U+00a6
  98.166 +0xa1	U+00b4
  98.167 +0xa2	U+00f3
  98.168 +0xa3	U+00fa
  98.169 +0xa4	U+00a8
  98.170 +0xa5	U+00b8
  98.171 +0xa6	U+00b3
  98.172 +0xa7	U+00af
  98.173 +0xa8	U+00ce
  98.174 +0xa9	U+2310
  98.175 +0xaa	U+00ac
  98.176 +0xab	U+00bd
  98.177 +0xac	U+00bc
  98.178 +0xad	U+00be
  98.179 +0xae	U+00ab
  98.180 +0xaf	U+00bb
  98.181 +0xb0	U+2591
  98.182 +0xb1	U+2592
  98.183 +0xb2	U+2593
  98.184 +0xb3	U+2502
  98.185 +0xb4	U+2524
  98.186 +0xb5	U+2561
  98.187 +0xb6	U+2562
  98.188 +0xb7	U+2556
  98.189 +0xb8	U+2555
  98.190 +0xb9	U+2563
  98.191 +0xba	U+2551
  98.192 +0xbb	U+2557
  98.193 +0xbc	U+255d
  98.194 +0xbd	U+255c
  98.195 +0xbe	U+255b
  98.196 +0xbf	U+2510
  98.197 +0xc0	U+2514
  98.198 +0xc1	U+2534
  98.199 +0xc2	U+252c
  98.200 +0xc3	U+251c
  98.201 +0xc4	U+2500
  98.202 +0xc5	U+253c
  98.203 +0xc6	U+255e
  98.204 +0xc7	U+255f
  98.205 +0xc8	U+255a
  98.206 +0xc9	U+2554
  98.207 +0xca	U+2569
  98.208 +0xcb	U+2566
  98.209 +0xcc	U+2560
  98.210 +0xcd	U+2550
  98.211 +0xce	U+256c
  98.212 +0xcf	U+2567
  98.213 +0xd0	U+2568
  98.214 +0xd1	U+2564
  98.215 +0xd2	U+2565
  98.216 +0xd3	U+2559
  98.217 +0xd4	U+2558
  98.218 +0xd5	U+2552
  98.219 +0xd6	U+2553
  98.220 +0xd7	U+256b
  98.221 +0xd8	U+256a
  98.222 +0xd9	U+2518
  98.223 +0xda	U+250c
  98.224 +0xdb	U+2588
  98.225 +0xdc	U+2584
  98.226 +0xdd	U+258c
  98.227 +0xde	U+2590
  98.228 +0xdf	U+2580
  98.229 +0xe0	U+03b1
  98.230 +0xe1	U+00df
  98.231 +0xe2	U+0393
  98.232 +0xe3	U+03c0
  98.233 +0xe4	U+03a3
  98.234 +0xe5	U+03c3
  98.235 +0xe6	U+00b5
  98.236 +0xe7	U+03c4
  98.237 +0xe8	U+03a6
  98.238 +0xe9	U+0398
  98.239 +0xea	U+03a9
  98.240 +0xeb	U+03b4
  98.241 +0xec	U+221e
  98.242 +0xed	U+03c6
  98.243 +0xee	U+03b5
  98.244 +0xef	U+2229
  98.245 +0xf0	U+2261
  98.246 +0xf1	U+00b1
  98.247 +0xf2	U+2265
  98.248 +0xf3	U+2264
  98.249 +0xf4	U+2320
  98.250 +0xf5	U+2321
  98.251 +0xf6	U+00f7
  98.252 +0xf7	U+2248
  98.253 +0xf8	U+00b0
  98.254 +0xf9	U+2219
  98.255 +0xfa	U+00b7
  98.256 +0xfb	U+221a
  98.257 +0xfc	U+207f
  98.258 +0xfd	U+00b2
  98.259 +0xfe	U+25a0
  98.260 +0xff	U+00a0
    99.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    99.2 +++ b/make/tools/CharsetMapping/IBM864.map	Tue Jan 20 09:42:07 2009 -0800
    99.3 @@ -0,0 +1,257 @@
    99.4 +#Generated from IBM864.java
    99.5 +0x00	U+0000
    99.6 +0x01	U+0001
    99.7 +0x02	U+0002
    99.8 +0x03	U+0003
    99.9 +0x04	U+0004
   99.10 +0x05	U+0005
   99.11 +0x06	U+0006
   99.12 +0x07	U+0007
   99.13 +0x08	U+0008
   99.14 +0x09	U+0009
   99.15 +0x0a	U+000a
   99.16 +0x0b	U+000b
   99.17 +0x0c	U+000c
   99.18 +0x0d	U+000d
   99.19 +0x0e	U+000e
   99.20 +0x0f	U+000f
   99.21 +0x10	U+0010
   99.22 +0x11	U+0011
   99.23 +0x12	U+0012
   99.24 +0x13	U+0013
   99.25 +0x14	U+0014
   99.26 +0x15	U+0015
   99.27 +0x16	U+0016
   99.28 +0x17	U+0017
   99.29 +0x18	U+0018
   99.30 +0x19	U+0019
   99.31 +0x1a	U+001a
   99.32 +0x1b	U+001b
   99.33 +0x1c	U+001c
   99.34 +0x1d	U+001d
   99.35 +0x1e	U+001e
   99.36 +0x1f	U+001f
   99.37 +0x20	U+0020
   99.38 +0x21	U+0021
   99.39 +0x22	U+0022
   99.40 +0x23	U+0023
   99.41 +0x24	U+0024
   99.42 +0x25	U+066a
   99.43 +0x26	U+0026
   99.44 +0x27	U+0027
   99.45 +0x28	U+0028
   99.46 +0x29	U+0029
   99.47 +0x2a	U+002a
   99.48 +0x2b	U+002b
   99.49 +0x2c	U+002c
   99.50 +0x2d	U+002d
   99.51 +0x2e	U+002e
   99.52 +0x2f	U+002f
   99.53 +0x30	U+0030
   99.54 +0x31	U+0031
   99.55 +0x32	U+0032
   99.56 +0x33	U+0033
   99.57 +0x34	U+0034
   99.58 +0x35	U+0035
   99.59 +0x36	U+0036
   99.60 +0x37	U+0037
   99.61 +0x38	U+0038
   99.62 +0x39	U+0039
   99.63 +0x3a	U+003a
   99.64 +0x3b	U+003b
   99.65 +0x3c	U+003c
   99.66 +0x3d	U+003d
   99.67 +0x3e	U+003e
   99.68 +0x3f	U+003f
   99.69 +0x40	U+0040
   99.70 +0x41	U+0041
   99.71 +0x42	U+0042
   99.72 +0x43	U+0043
   99.73 +0x44	U+0044
   99.74 +0x45	U+0045
   99.75 +0x46	U+0046
   99.76 +0x47	U+0047
   99.77 +0x48	U+0048
   99.78 +0x49	U+0049
   99.79 +0x4a	U+004a
   99.80 +0x4b	U+004b
   99.81 +0x4c	U+004c
   99.82 +0x4d	U+004d
   99.83 +0x4e	U+004e
   99.84 +0x4f	U+004f
   99.85 +0x50	U+0050
   99.86 +0x51	U+0051
   99.87 +0x52	U+0052
   99.88 +0x53	U+0053
   99.89 +0x54	U+0054
   99.90 +0x55	U+0055
   99.91 +0x56	U+0056
   99.92 +0x57	U+0057
   99.93 +0x58	U+0058
   99.94 +0x59	U+0059
   99.95 +0x5a	U+005a
   99.96 +0x5b	U+005b
   99.97 +0x5c	U+005c
   99.98 +0x5d	U+005d
   99.99 +0x5e	U+005e
  99.100 +0x5f	U+005f
  99.101 +0x60	U+0060
  99.102 +0x61	U+0061
  99.103 +0x62	U+0062
  99.104 +0x63	U+0063
  99.105 +0x64	U+0064
  99.106 +0x65	U+0065
  99.107 +0x66	U+0066
  99.108 +0x67	U+0067
  99.109 +0x68	U+0068
  99.110 +0x69	U+0069
  99.111 +0x6a	U+006a
  99.112 +0x6b	U+006b
  99.113 +0x6c	U+006c
  99.114 +0x6d	U+006d
  99.115 +0x6e	U+006e
  99.116 +0x6f	U+006f
  99.117 +0x70	U+0070
  99.118 +0x71	U+0071
  99.119 +0x72	U+0072
  99.120 +0x73	U+0073
  99.121 +0x74	U+0074
  99.122 +0x75	U+0075
  99.123 +0x76	U+0076
  99.124 +0x77	U+0077
  99.125 +0x78	U+0078
  99.126 +0x79	U+0079
  99.127 +0x7a	U+007a
  99.128 +0x7b	U+007b
  99.129 +0x7c	U+007c
  99.130 +0x7d	U+007d
  99.131 +0x7e	U+007e
  99.132 +0x7f	U+007f
  99.133 +0x80	U+00b0
  99.134 +0x81	U+00b7
  99.135 +0x82	U+2219
  99.136 +0x83	U+221a
  99.137 +0x84	U+2592
  99.138 +0x85	U+2500
  99.139 +0x86	U+2502
  99.140 +0x87	U+253c
  99.141 +0x88	U+2524
  99.142 +0x89	U+252c
  99.143 +0x8a	U+251c
  99.144 +0x8b	U+2534
  99.145 +0x8c	U+2510
  99.146 +0x8d	U+250c
  99.147 +0x8e	U+2514
  99.148 +0x8f	U+2518
  99.149 +0x90	U+03b2
  99.150 +0x91	U+221e
  99.151 +0x92	U+03c6
  99.152 +0x93	U+00b1
  99.153 +0x94	U+00bd
  99.154 +0x95	U+00bc
  99.155 +0x96	U+2248
  99.156 +0x97	U+00ab
  99.157 +0x98	U+00bb
  99.158 +0x99	U+fef7
  99.159 +0x9a	U+fef8
  99.160 +0x9b	U+fffd
  99.161 +0x9c	U+fffd
  99.162 +0x9d	U+fefb
  99.163 +0x9e	U+fefc
  99.164 +0x9f	U+fffd
  99.165 +0xa0	U+00a0
  99.166 +0xa1	U+00ad
  99.167 +0xa2	U+fe82
  99.168 +0xa3	U+00a3
  99.169 +0xa4	U+00a4
  99.170 +0xa5	U+fe84
  99.171 +0xa6	U+fffd
  99.172 +0xa7	U+fffd
  99.173 +0xa8	U+fe8e
  99.174 +0xa9	U+fe8f
  99.175 +0xaa	U+fe95
  99.176 +0xab	U+fe99
  99.177 +0xac	U+060c
  99.178 +0xad	U+fe9d
  99.179 +0xae	U+fea1
  99.180 +0xaf	U+fea5
  99.181 +0xb0	U+0660
  99.182 +0xb1	U+0661
  99.183 +0xb2	U+0662
  99.184 +0xb3	U+0663
  99.185 +0xb4	U+0664
  99.186 +0xb5	U+0665
  99.187 +0xb6	U+0666
  99.188 +0xb7	U+0667
  99.189 +0xb8	U+0668
  99.190 +0xb9	U+0669
  99.191 +0xba	U+fed1
  99.192 +0xbb	U+061b
  99.193 +0xbc	U+feb1
  99.194 +0xbd	U+feb5
  99.195 +0xbe	U+feb9
  99.196 +0xbf	U+061f
  99.197 +0xc0	U+00a2
  99.198 +0xc1	U+fe80
  99.199 +0xc2	U+fe81
  99.200 +0xc3	U+fe83
  99.201 +0xc4	U+fe85
  99.202 +0xc5	U+feca
  99.203 +0xc6	U+fe8b
  99.204 +0xc7	U+fe8d
  99.205 +0xc8	U+fe91
  99.206 +0xc9	U+fe93
  99.207 +0xca	U+fe97
  99.208 +0xcb	U+fe9b
  99.209 +0xcc	U+fe9f
  99.210 +0xcd	U+fea3
  99.211 +0xce	U+fea7
  99.212 +0xcf	U+fea9
  99.213 +0xd0	U+feab
  99.214 +0xd1	U+fead
  99.215 +0xd2	U+feaf
  99.216 +0xd3	U+feb3
  99.217 +0xd4	U+feb7
  99.218 +0xd5	U+febb
  99.219 +0xd6	U+febf
  99.220 +0xd7	U+fec1
  99.221 +0xd8	U+fec5
  99.222 +0xd9	U+fecb
  99.223 +0xda	U+fecf
  99.224 +0xdb	U+00a6
  99.225 +0xdc	U+00ac
  99.226 +0xdd	U+00f7
  99.227 +0xde	U+00d7
  99.228 +0xdf	U+fec9
  99.229 +0xe0	U+0640
  99.230 +0xe1	U+fed3
  99.231 +0xe2	U+fed7
  99.232 +0xe3	U+fedb
  99.233 +0xe4	U+fedf
  99.234 +0xe5	U+fee3
  99.235 +0xe6	U+fee7
  99.236 +0xe7	U+feeb
  99.237 +0xe8	U+feed
  99.238 +0xe9	U+feef
  99.239 +0xea	U+fef3
  99.240 +0xeb	U+febd
  99.241 +0xec	U+fecc
  99.242 +0xed	U+fece
  99.243 +0xee	U+fecd
  99.244 +0xef	U+fee1
  99.245 +0xf0	U+fe7d
  99.246 +0xf1	U+0651
  99.247 +0xf2	U+fee5
  99.248 +0xf3	U+fee9
  99.249 +0xf4	U+feec
  99.250 +0xf5	U+fef0
  99.251 +0xf6	U+fef2
  99.252 +0xf7	U+fed0
  99.253 +0xf8	U+fed5
  99.254 +0xf9	U+fef5
  99.255 +0xfa	U+fef6
  99.256 +0xfb	U+fedd
  99.257 +0xfc	U+fed9
  99.258 +0xfd	U+fef1
  99.259 +0xfe	U+25a0
  99.260 +0xff	U+fffd
   100.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   100.2 +++ b/make/tools/CharsetMapping/IBM865.map	Tue Jan 20 09:42:07 2009 -0800
   100.3 @@ -0,0 +1,257 @@
   100.4 +#Generated from IBM865.java
   100.5 +0x00	U+0000
   100.6 +0x01	U+0001
   100.7 +0x02	U+0002
   100.8 +0x03	U+0003
   100.9 +0x04	U+0004
  100.10 +0x05	U+0005
  100.11 +0x06	U+0006
  100.12 +0x07	U+0007
  100.13 +0x08	U+0008
  100.14 +0x09	U+0009
  100.15 +0x0a	U+000a
  100.16 +0x0b	U+000b
  100.17 +0x0c	U+000c
  100.18 +0x0d	U+000d
  100.19 +0x0e	U+000e
  100.20 +0x0f	U+000f
  100.21 +0x10	U+0010
  100.22 +0x11	U+0011
  100.23 +0x12	U+0012
  100.24 +0x13	U+0013
  100.25 +0x14	U+0014
  100.26 +0x15	U+0015
  100.27 +0x16	U+0016
  100.28 +0x17	U+0017
  100.29 +0x18	U+0018
  100.30 +0x19	U+0019
  100.31 +0x1a	U+001a
  100.32 +0x1b	U+001b
  100.33 +0x1c	U+001c
  100.34 +0x1d	U+001d
  100.35 +0x1e	U+001e
  100.36 +0x1f	U+001f
  100.37 +0x20	U+0020
  100.38 +0x21	U+0021
  100.39 +0x22	U+0022
  100.40 +0x23	U+0023
  100.41 +0x24	U+0024
  100.42 +0x25	U+0025
  100.43 +0x26	U+0026
  100.44 +0x27	U+0027
  100.45 +0x28	U+0028
  100.46 +0x29	U+0029
  100.47 +0x2a	U+002a
  100.48 +0x2b	U+002b
  100.49 +0x2c	U+002c
  100.50 +0x2d	U+002d
  100.51 +0x2e	U+002e
  100.52 +0x2f	U+002f
  100.53 +0x30	U+0030
  100.54 +0x31	U+0031
  100.55 +0x32	U+0032
  100.56 +0x33	U+0033
  100.57 +0x34	U+0034
  100.58 +0x35	U+0035
  100.59 +0x36	U+0036
  100.60 +0x37	U+0037
  100.61 +0x38	U+0038
  100.62 +0x39	U+0039
  100.63 +0x3a	U+003a
  100.64 +0x3b	U+003b
  100.65 +0x3c	U+003c
  100.66 +0x3d	U+003d
  100.67 +0x3e	U+003e
  100.68 +0x3f	U+003f
  100.69 +0x40	U+0040
  100.70 +0x41	U+0041
  100.71 +0x42	U+0042
  100.72 +0x43	U+0043
  100.73 +0x44	U+0044
  100.74 +0x45	U+0045
  100.75 +0x46	U+0046
  100.76 +0x47	U+0047
  100.77 +0x48	U+0048
  100.78 +0x49	U+0049
  100.79 +0x4a	U+004a
  100.80 +0x4b	U+004b
  100.81 +0x4c	U+004c
  100.82 +0x4d	U+004d
  100.83 +0x4e	U+004e
  100.84 +0x4f	U+004f
  100.85 +0x50	U+0050
  100.86 +0x51	U+0051
  100.87 +0x52	U+0052
  100.88 +0x53	U+0053
  100.89 +0x54	U+0054
  100.90 +0x55	U+0055
  100.91 +0x56	U+0056
  100.92 +0x57	U+0057
  100.93 +0x58	U+0058
  100.94 +0x59	U+0059
  100.95 +0x5a	U+005a
  100.96 +0x5b	U+005b
  100.97 +0x5c	U+005c
  100.98 +0x5d	U+005d
  100.99 +0x5e	U+005e
 100.100 +0x5f	U+005f
 100.101 +0x60	U+0060
 100.102 +0x61	U+0061
 100.103 +0x62	U+0062
 100.104 +0x63	U+0063
 100.105 +0x64	U+0064
 100.106 +0x65	U+0065
 100.107 +0x66	U+0066
 100.108 +0x67	U+0067
 100.109 +0x68	U+0068
 100.110 +0x69	U+0069
 100.111 +0x6a	U+006a
 100.112 +0x6b	U+006b
 100.113 +0x6c	U+006c
 100.114 +0x6d	U+006d
 100.115 +0x6e	U+006e
 100.116 +0x6f	U+006f
 100.117 +0x70	U+0070
 100.118 +0x71	U+0071
 100.119 +0x72	U+0072
 100.120 +0x73	U+0073
 100.121 +0x74	U+0074
 100.122 +0x75	U+0075
 100.123 +0x76	U+0076
 100.124 +0x77	U+0077
 100.125 +0x78	U+0078
 100.126 +0x79	U+0079
 100.127 +0x7a	U+007a
 100.128 +0x7b	U+007b
 100.129 +0x7c	U+007c
 100.130 +0x7d	U+007d
 100.131 +0x7e	U+007e
 100.132 +0x7f	U+007f
 100.133 +0x80	U+00c7
 100.134 +0x81	U+00fc
 100.135 +0x82	U+00e9
 100.136 +0x83	U+00e2
 100.137 +0x84	U+00e4
 100.138 +0x85	U+00e0
 100.139 +0x86	U+00e5
 100.140 +0x87	U+00e7
 100.141 +0x88	U+00ea
 100.142 +0x89	U+00eb
 100.143 +0x8a	U+00e8
 100.144 +0x8b	U+00ef
 100.145 +0x8c	U+00ee
 100.146 +0x8d	U+00ec
 100.147 +0x8e	U+00c4
 100.148 +0x8f	U+00c5
 100.149 +0x90	U+00c9
 100.150 +0x91	U+00e6
 100.151 +0x92	U+00c6
 100.152 +0x93	U+00f4
 100.153 +0x94	U+00f6
 100.154 +0x95	U+00f2
 100.155 +0x96	U+00fb
 100.156 +0x97	U+00f9
 100.157 +0x98	U+00ff
 100.158 +0x99	U+00d6
 100.159 +0x9a	U+00dc
 100.160 +0x9b	U+00f8
 100.161 +0x9c	U+00a3
 100.162 +0x9d	U+00d8
 100.163 +0x9e	U+20a7
 100.164 +0x9f	U+0192
 100.165 +0xa0	U+00e1
 100.166 +0xa1	U+00ed
 100.167 +0xa2	U+00f3
 100.168 +0xa3	U+00fa
 100.169 +0xa4	U+00f1
 100.170 +0xa5	U+00d1
 100.171 +0xa6	U+00aa
 100.172 +0xa7	U+00ba
 100.173 +0xa8	U+00bf
 100.174 +0xa9	U+2310
 100.175 +0xaa	U+00ac
 100.176 +0xab	U+00bd
 100.177 +0xac	U+00bc
 100.178 +0xad	U+00a1
 100.179 +0xae	U+00ab
 100.180 +0xaf	U+00a4
 100.181 +0xb0	U+2591
 100.182 +0xb1	U+2592
 100.183 +0xb2	U+2593
 100.184 +0xb3	U+2502
 100.185 +0xb4	U+2524
 100.186 +0xb5	U+2561
 100.187 +0xb6	U+2562
 100.188 +0xb7	U+2556
 100.189 +0xb8	U+2555
 100.190 +0xb9	U+2563
 100.191 +0xba	U+2551
 100.192 +0xbb	U+2557
 100.193 +0xbc	U+255d
 100.194 +0xbd	U+255c
 100.195 +0xbe	U+255b
 100.196 +0xbf	U+2510
 100.197 +0xc0	U+2514
 100.198 +0xc1	U+2534
 100.199 +0xc2	U+252c
 100.200 +0xc3	U+251c
 100.201 +0xc4	U+2500
 100.202 +0xc5	U+253c
 100.203 +0xc6	U+255e
 100.204 +0xc7	U+255f
 100.205 +0xc8	U+255a
 100.206 +0xc9	U+2554
 100.207 +0xca	U+2569
 100.208 +0xcb	U+2566
 100.209 +0xcc	U+2560
 100.210 +0xcd	U+2550
 100.211 +0xce	U+256c
 100.212 +0xcf	U+2567
 100.213 +0xd0	U+2568
 100.214 +0xd1	U+2564
 100.215 +0xd2	U+2565
 100.216 +0xd3	U+2559
 100.217 +0xd4	U+2558
 100.218 +0xd5	U+2552
 100.219 +0xd6	U+2553
 100.220 +0xd7	U+256b
 100.221 +0xd8	U+256a
 100.222 +0xd9	U+2518
 100.223 +0xda	U+250c
 100.224 +0xdb	U+2588
 100.225 +0xdc	U+2584
 100.226 +0xdd	U+258c
 100.227 +0xde	U+2590
 100.228 +0xdf	U+2580
 100.229 +0xe0	U+03b1
 100.230 +0xe1	U+00df
 100.231 +0xe2	U+0393
 100.232 +0xe3	U+03c0
 100.233 +0xe4	U+03a3
 100.234 +0xe5	U+03c3
 100.235 +0xe6	U+00b5
 100.236 +0xe7	U+03c4
 100.237 +0xe8	U+03a6
 100.238 +0xe9	U+0398
 100.239 +0xea	U+03a9
 100.240 +0xeb	U+03b4
 100.241 +0xec	U+221e
 100.242 +0xed	U+03c6
 100.243 +0xee	U+03b5
 100.244 +0xef	U+2229
 100.245 +0xf0	U+2261
 100.246 +0xf1	U+00b1
 100.247 +0xf2	U+2265
 100.248 +0xf3	U+2264
 100.249 +0xf4	U+2320
 100.250 +0xf5	U+2321
 100.251 +0xf6	U+00f7
 100.252 +0xf7	U+2248
 100.253 +0xf8	U+00b0
 100.254 +0xf9	U+2219
 100.255 +0xfa	U+00b7
 100.256 +0xfb	U+221a
 100.257 +0xfc	U+207f
 100.258 +0xfd	U+00b2
 100.259 +0xfe	U+25a0
 100.260 +0xff	U+00a0
   101.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   101.2 +++ b/make/tools/CharsetMapping/IBM866.map	Tue Jan 20 09:42:07 2009 -0800
   101.3 @@ -0,0 +1,257 @@
   101.4 +#Generated from IBM866.java
   101.5 +0x00	U+0000
   101.6 +0x01	U+0001
   101.7 +0x02	U+0002
   101.8 +0x03	U+0003
   101.9 +0x04	U+0004
  101.10 +0x05	U+0005
  101.11 +0x06	U+0006
  101.12 +0x07	U+0007
  101.13 +0x08	U+0008
  101.14 +0x09	U+0009
  101.15 +0x0a	U+000a
  101.16 +0x0b	U+000b
  101.17 +0x0c	U+000c
  101.18 +0x0d	U+000d
  101.19 +0x0e	U+000e
  101.20 +0x0f	U+000f
  101.21 +0x10	U+0010
  101.22 +0x11	U+0011
  101.23 +0x12	U+0012
  101.24 +0x13	U+0013
  101.25 +0x14	U+0014
  101.26 +0x15	U+0015
  101.27 +0x16	U+0016
  101.28 +0x17	U+0017
  101.29 +0x18	U+0018
  101.30 +0x19	U+0019
  101.31 +0x1a	U+001a
  101.32 +0x1b	U+001b
  101.33 +0x1c	U+001c
  101.34 +0x1d	U+001d
  101.35 +0x1e	U+001e
  101.36 +0x1f	U+001f
  101.37 +0x20	U+0020
  101.38 +0x21	U+0021
  101.39 +0x22	U+0022
  101.40 +0x23	U+0023
  101.41 +0x24	U+0024
  101.42 +0x25	U+0025
  101.43 +0x26	U+0026
  101.44 +0x27	U+0027
  101.45 +0x28	U+0028
  101.46 +0x29	U+0029
  101.47 +0x2a	U+002a
  101.48 +0x2b	U+002b
  101.49 +0x2c	U+002c
  101.50 +0x2d	U+002d
  101.51 +0x2e	U+002e
  101.52 +0x2f	U+002f
  101.53 +0x30	U+0030
  101.54 +0x31	U+0031
  101.55 +0x32	U+0032
  101.56 +0x33	U+0033
  101.57 +0x34	U+0034
  101.58 +0x35	U+0035
  101.59 +0x36	U+0036
  101.60 +0x37	U+0037
  101.61 +0x38	U+0038
  101.62 +0x39	U+0039
  101.63 +0x3a	U+003a
  101.64 +0x3b	U+003b
  101.65 +0x3c	U+003c
  101.66 +0x3d	U+003d
  101.67 +0x3e	U+003e
  101.68 +0x3f	U+003f
  101.69 +0x40	U+0040
  101.70 +0x41	U+0041
  101.71 +0x42	U+0042
  101.72 +0x43	U+0043
  101.73 +0x44	U+0044
  101.74 +0x45	U+0045
  101.75 +0x46	U+0046
  101.76 +0x47	U+0047
  101.77 +0x48	U+0048
  101.78 +0x49	U+0049
  101.79 +0x4a	U+004a
  101.80 +0x4b	U+004b
  101.81 +0x4c	U+004c
  101.82 +0x4d	U+004d
  101.83 +0x4e	U+004e
  101.84 +0x4f	U+004f
  101.85 +0x50	U+0050
  101.86 +0x51	U+0051
  101.87 +0x52	U+0052
  101.88 +0x53	U+0053
  101.89 +0x54	U+0054
  101.90 +0x55	U+0055
  101.91 +0x56	U+0056
  101.92 +0x57	U+0057
  101.93 +0x58	U+0058
  101.94 +0x59	U+0059
  101.95 +0x5a	U+005a
  101.96 +0x5b	U+005b
  101.97 +0x5c	U+005c
  101.98 +0x5d	U+005d
  101.99 +0x5e	U+005e
 101.100 +0x5f	U+005f
 101.101 +0x60	U+0060
 101.102 +0x61	U+0061
 101.103 +0x62	U+0062
 101.104 +0x63	U+0063
 101.105 +0x64	U+0064
 101.106 +0x65	U+0065
 101.107 +0x66	U+0066
 101.108 +0x67	U+0067
 101.109 +0x68	U+0068
 101.110 +0x69	U+0069
 101.111 +0x6a	U+006a
 101.112 +0x6b	U+006b
 101.113 +0x6c	U+006c
 101.114 +0x6d	U+006d
 101.115 +0x6e	U+006e
 101.116 +0x6f	U+006f
 101.117 +0x70	U+0070
 101.118 +0x71	U+0071
 101.119 +0x72	U+0072
 101.120 +0x73	U+0073
 101.121 +0x74	U+0074
 101.122 +0x75	U+0075
 101.123 +0x76	U+0076
 101.124 +0x77	U+0077
 101.125 +0x78	U+0078
 101.126 +0x79	U+0079
 101.127 +0x7a	U+007a
 101.128 +0x7b	U+007b
 101.129 +0x7c	U+007c
 101.130 +0x7d	U+007d
 101.131 +0x7e	U+007e
 101.132 +0x7f	U+007f
 101.133 +0x80	U+0410
 101.134 +0x81	U+0411
 101.135 +0x82	U+0412
 101.136 +0x83	U+0413
 101.137 +0x84	U+0414
 101.138 +0x85	U+0415
 101.139 +0x86	U+0416
 101.140 +0x87	U+0417
 101.141 +0x88	U+0418
 101.142 +0x89	U+0419
 101.143 +0x8a	U+041a
 101.144 +0x8b	U+041b
 101.145 +0x8c	U+041c
 101.146 +0x8d	U+041d
 101.147 +0x8e	U+041e
 101.148 +0x8f	U+041f
 101.149 +0x90	U+0420
 101.150 +0x91	U+0421
 101.151 +0x92	U+0422
 101.152 +0x93	U+0423
 101.153 +0x94	U+0424
 101.154 +0x95	U+0425
 101.155 +0x96	U+0426
 101.156 +0x97	U+0427
 101.157 +0x98	U+0428
 101.158 +0x99	U+0429
 101.159 +0x9a	U+042a
 101.160 +0x9b	U+042b
 101.161 +0x9c	U+042c
 101.162 +0x9d	U+042d
 101.163 +0x9e	U+042e
 101.164 +0x9f	U+042f
 101.165 +0xa0	U+0430
 101.166 +0xa1	U+0431
 101.167 +0xa2	U+0432
 101.168 +0xa3	U+0433
 101.169 +0xa4	U+0434
 101.170 +0xa5	U+0435
 101.171 +0xa6	U+0436
 101.172 +0xa7	U+0437
 101.173 +0xa8	U+0438
 101.174 +0xa9	U+0439
 101.175 +0xaa	U+043a
 101.176 +0xab	U+043b
 101.177 +0xac	U+043c
 101.178 +0xad	U+043d
 101.179 +0xae	U+043e
 101.180 +0xaf	U+043f
 101.181 +0xb0	U+2591
 101.182 +0xb1	U+2592
 101.183 +0xb2	U+2593
 101.184 +0xb3	U+2502
 101.185 +0xb4	U+2524
 101.186 +0xb5	U+2561
 101.187 +0xb6	U+2562
 101.188 +0xb7	U+2556
 101.189 +0xb8	U+2555
 101.190 +0xb9	U+2563
 101.191 +0xba	U+2551
 101.192 +0xbb	U+2557
 101.193 +0xbc	U+255d
 101.194 +0xbd	U+255c
 101.195 +0xbe	U+255b
 101.196 +0xbf	U+2510
 101.197 +0xc0	U+2514
 101.198 +0xc1	U+2534
 101.199 +0xc2	U+252c
 101.200 +0xc3	U+251c
 101.201 +0xc4	U+2500
 101.202 +0xc5	U+253c
 101.203 +0xc6	U+255e
 101.204 +0xc7	U+255f
 101.205 +0xc8	U+255a
 101.206 +0xc9	U+2554
 101.207 +0xca	U+2569
 101.208 +0xcb	U+2566
 101.209 +0xcc	U+2560
 101.210 +0xcd	U+2550
 101.211 +0xce	U+256c
 101.212 +0xcf	U+2567
 101.213 +0xd0	U+2568
 101.214 +0xd1	U+2564
 101.215 +0xd2	U+2565
 101.216 +0xd3	U+2559
 101.217 +0xd4	U+2558
 101.218 +0xd5	U+2552
 101.219 +0xd6	U+2553
 101.220 +0xd7	U+256b
 101.221 +0xd8	U+256a
 101.222 +0xd9	U+2518
 101.223 +0xda	U+250c
 101.224 +0xdb	U+2588
 101.225 +0xdc	U+2584
 101.226 +0xdd	U+258c
 101.227 +0xde	U+2590
 101.228 +0xdf	U+2580
 101.229 +0xe0	U+0440
 101.230 +0xe1	U+0441
 101.231 +0xe2	U+0442
 101.232 +0xe3	U+0443
 101.233 +0xe4	U+0444
 101.234 +0xe5	U+0445
 101.235 +0xe6	U+0446
 101.236 +0xe7	U+0447
 101.237 +0xe8	U+0448
 101.238 +0xe9	U+0449
 101.239 +0xea	U+044a
 101.240 +0xeb	U+044b
 101.241 +0xec	U+044c
 101.242 +0xed	U+044d
 101.243 +0xee	U+044e
 101.244 +0xef	U+044f
 101.245 +0xf0	U+0401
 101.246 +0xf1	U+0451
 101.247 +0xf2	U+0404
 101.248 +0xf3	U+0454
 101.249 +0xf4	U+0407
 101.250 +0xf5	U+0457
 101.251 +0xf6	U+040e
 101.252 +0xf7	U+045e
 101.253 +0xf8	U+00b0
 101.254 +0xf9	U+2219
 101.255 +0xfa	U+00b7
 101.256 +0xfb	U+221a
 101.257 +0xfc	U+2116
 101.258 +0xfd	U+00a4
 101.259 +0xfe	U+25a0
 101.260 +0xff	U+00a0
   102.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   102.2 +++ b/make/tools/CharsetMapping/IBM868.map	Tue Jan 20 09:42:07 2009 -0800
   102.3 @@ -0,0 +1,257 @@
   102.4 +#Generated from IBM868.java
   102.5 +0x00	U+0000
   102.6 +0x01	U+0001
   102.7 +0x02	U+0002
   102.8 +0x03	U+0003
   102.9 +0x04	U+0004
  102.10 +0x05	U+0005
  102.11 +0x06	U+0006
  102.12 +0x07	U+0007
  102.13 +0x08	U+0008
  102.14 +0x09	U+0009
  102.15 +0x0a	U+000a
  102.16 +0x0b	U+000b
  102.17 +0x0c	U+000c
  102.18 +0x0d	U+000d
  102.19 +0x0e	U+000e
  102.20 +0x0f	U+000f
  102.21 +0x10	U+0010
  102.22 +0x11	U+0011
  102.23 +0x12	U+0012
  102.24 +0x13	U+0013
  102.25 +0x14	U+0014
  102.26 +0x15	U+0015
  102.27 +0x16	U+0016
  102.28 +0x17	U+0017
  102.29 +0x18	U+0018
  102.30 +0x19	U+0019
  102.31 +0x1a	U+001a
  102.32 +0x1b	U+001b
  102.33 +0x1c	U+001c
  102.34 +0x1d	U+001d
  102.35 +0x1e	U+001e
  102.36 +0x1f	U+001f
  102.37 +0x20	U+0020
  102.38 +0x21	U+0021
  102.39 +0x22	U+0022
  102.40 +0x23	U+0023
  102.41 +0x24	U+0024
  102.42 +0x25	U+0025
  102.43 +0x26	U+0026
  102.44 +0x27	U+0027
  102.45 +0x28	U+0028
  102.46 +0x29	U+0029
  102.47 +0x2a	U+002a
  102.48 +0x2b	U+002b
  102.49 +0x2c	U+002c
  102.50 +0x2d	U+002d
  102.51 +0x2e	U+002e
  102.52 +0x2f	U+002f
  102.53 +0x30	U+0030
  102.54 +0x31	U+0031
  102.55 +0x32	U+0032
  102.56 +0x33	U+0033
  102.57 +0x34	U+0034
  102.58 +0x35	U+0035
  102.59 +0x36	U+0036
  102.60 +0x37	U+0037
  102.61 +0x38	U+0038
  102.62 +0x39	U+0039
  102.63 +0x3a	U+003a
  102.64 +0x3b	U+003b
  102.65 +0x3c	U+003c
  102.66 +0x3d	U+003d
  102.67 +0x3e	U+003e
  102.68 +0x3f	U+003f
  102.69 +0x40	U+0040
  102.70 +0x41	U+0041
  102.71 +0x42	U+0042
  102.72 +0x43	U+0043
  102.73 +0x44	U+0044
  102.74 +0x45	U+0045
  102.75 +0x46	U+0046
  102.76 +0x47	U+0047
  102.77 +0x48	U+0048
  102.78 +0x49	U+0049
  102.79 +0x4a	U+004a
  102.80 +0x4b	U+004b
  102.81 +0x4c	U+004c
  102.82 +0x4d	U+004d
  102.83 +0x4e	U+004e
  102.84 +0x4f	U+004f
  102.85 +0x50	U+0050
  102.86 +0x51	U+0051
  102.87 +0x52	U+0052
  102.88 +0x53	U+0053
  102.89 +0x54	U+0054
  102.90 +0x55	U+0055
  102.91 +0x56	U+0056
  102.92 +0x57	U+0057
  102.93 +0x58	U+0058
  102.94 +0x59	U+0059
  102.95 +0x5a	U+005a
  102.96 +0x5b	U+005b
  102.97 +0x5c	U+005c
  102.98 +0x5d	U+005d
  102.99 +0x5e	U+005e
 102.100 +0x5f	U+005f
 102.101 +0x60	U+0060
 102.102 +0x61	U+0061
 102.103 +0x62	U+0062
 102.104 +0x63	U+0063
 102.105 +0x64	U+0064
 102.106 +0x65	U+0065
 102.107 +0x66	U+0066
 102.108 +0x67	U+0067
 102.109 +0x68	U+0068
 102.110 +0x69	U+0069
 102.111 +0x6a	U+006a
 102.112 +0x6b	U+006b
 102.113 +0x6c	U+006c
 102.114 +0x6d	U+006d
 102.115 +0x6e	U+006e
 102.116 +0x6f	U+006f
 102.117 +0x70	U+0070
 102.118 +0x71	U+0071
 102.119 +0x72	U+0072
 102.120 +0x73	U+0073
 102.121 +0x74	U+0074
 102.122 +0x75	U+0075
 102.123 +0x76	U+0076
 102.124 +0x77	U+0077
 102.125 +0x78	U+0078
 102.126 +0x79	U+0079
 102.127 +0x7a	U+007a
 102.128 +0x7b	U+007b
 102.129 +0x7c	U+007c
 102.130 +0x7d	U+007d
 102.131 +0x7e	U+007e
 102.132 +0x7f	U+007f
 102.133 +0x80	U+06f0
 102.134 +0x81	U+06f1
 102.135 +0x82	U+06f2
 102.136 +0x83	U+06f3
 102.137 +0x84	U+06f4
 102.138 +0x85	U+06f5
 102.139 +0x86	U+06f6
 102.140 +0x87	U+06f7
 102.141 +0x88	U+06f8
 102.142 +0x89	U+06f9
 102.143 +0x8a	U+060c
 102.144 +0x8b	U+061b
 102.145 +0x8c	U+061f
 102.146 +0x8d	U+fe81
 102.147 +0x8e	U+fe8d
 102.148 +0x8f	U+fe8e
 102.149 +0x90	U+f8fb
 102.150 +0x91	U+fe8f
 102.151 +0x92	U+fe91
 102.152 +0x93	U+fb56
 102.153 +0x94	U+fb58
 102.154 +0x95	U+fe93
 102.155 +0x96	U+fe95
 102.156 +0x97	U+fe97
 102.157 +0x98	U+fb66
 102.158 +0x99	U+fb68
 102.159 +0x9a	U+fe99
 102.160 +0x9b	U+fe9b
 102.161 +0x9c	U+fe9d
 102.162 +0x9d	U+fe9f
 102.163 +0x9e	U+fb7a
 102.164 +0x9f	U+fb7c
 102.165 +0xa0	U+fea1
 102.166 +0xa1	U+fea3
 102.167 +0xa2	U+fea5
 102.168 +0xa3	U+fea7
 102.169 +0xa4	U+fea9
 102.170 +0xa5	U+fb88
 102.171 +0xa6	U+feab
 102.172 +0xa7	U+fead
 102.173 +0xa8	U+fb8c
 102.174 +0xa9	U+feaf
 102.175 +0xaa	U+fb8a
 102.176 +0xab	U+feb1
 102.177 +0xac	U+feb3
 102.178 +0xad	U+feb5
 102.179 +0xae	U+00ab
 102.180 +0xaf	U+00bb
 102.181 +0xb0	U+2591
 102.182 +0xb1	U+2592
 102.183 +0xb2	U+2593
 102.184 +0xb3	U+2502
 102.185 +0xb4	U+2524
 102.186 +0xb5	U+feb7
 102.187 +0xb6	U+feb9
 102.188 +0xb7	U+febb
 102.189 +0xb8	U+febd
 102.190 +0xb9	U+2563
 102.191 +0xba	U+2551
 102.192 +0xbb	U+2557
 102.193 +0xbc	U+255d
 102.194 +0xbd	U+febf
 102.195 +0xbe	U+fec3
 102.196 +0xbf	U+2510
 102.197 +0xc0	U+2514
 102.198 +0xc1	U+2534
 102.199 +0xc2	U+252c
 102.200 +0xc3	U+251c
 102.201 +0xc4	U+2500
 102.202 +0xc5	U+253c
 102.203 +0xc6	U+fec7
 102.204 +0xc7	U+fec9
 102.205 +0xc8	U+255a
 102.206 +0xc9	U+2554
 102.207 +0xca	U+2569
 102.208 +0xcb	U+2566
 102.209 +0xcc	U+2560
 102.210 +0xcd	U+2550
 102.211 +0xce	U+256c
 102.212 +0xcf	U+feca
 102.213 +0xd0	U+fecb
 102.214 +0xd1	U+fecc
 102.215 +0xd2	U+fecd
 102.216 +0xd3	U+fece
 102.217 +0xd4	U+fecf
 102.218 +0xd5	U+fed0
 102.219 +0xd6	U+fed1
 102.220 +0xd7	U+fed3
 102.221 +0xd8	U+fed5
 102.222 +0xd9	U+2518
 102.223 +0xda	U+250c
 102.224 +0xdb	U+2588
 102.225 +0xdc	U+2584
 102.226 +0xdd	U+fed7
 102.227 +0xde	U+fb8e
 102.228 +0xdf	U+2580
 102.229 +0xe0	U+fedb
 102.230 +0xe1	U+fb92
 102.231 +0xe2	U+fb94
 102.232 +0xe3	U+fedd
 102.233 +0xe4	U+fedf
 102.234 +0xe5	U+fee0
 102.235 +0xe6	U+fee1
 102.236 +0xe7	U+fee3
 102.237 +0xe8	U+fb9e
 102.238 +0xe9	U+fee5
 102.239 +0xea	U+fee7
 102.240 +0xeb	U+fe85
 102.241 +0xec	U+feed
 102.242 +0xed	U+fba6
 102.243 +0xee	U+fba8
 102.244 +0xef	U+fba9
 102.245 +0xf0	U+00ad
 102.246 +0xf1	U+fbaa
 102.247 +0xf2	U+fe80
 102.248 +0xf3	U+fe89
 102.249 +0xf4	U+fe8a
 102.250 +0xf5	U+fe8b
 102.251 +0xf6	U+fbfc
 102.252 +0xf7	U+fbfd
 102.253 +0xf8	U+fbfe
 102.254 +0xf9	U+fbb0
 102.255 +0xfa	U+fbae
 102.256 +0xfb	U+fe7c
 102.257 +0xfc	U+fe7d
 102.258 +0xfd	U+fffd
 102.259 +0xfe	U+25a0
 102.260 +0xff	U+00a0
   103.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   103.2 +++ b/make/tools/CharsetMapping/IBM869.map	Tue Jan 20 09:42:07 2009 -0800
   103.3 @@ -0,0 +1,257 @@
   103.4 +#Generated from IBM869.java
   103.5 +0x00	U+0000
   103.6 +0x01	U+0001
   103.7 +0x02	U+0002
   103.8 +0x03	U+0003
   103.9 +0x04	U+0004
  103.10 +0x05	U+0005
  103.11 +0x06	U+0006
  103.12 +0x07	U+0007
  103.13 +0x08	U+0008
  103.14 +0x09	U+0009
  103.15 +0x0a	U+000a
  103.16 +0x0b	U+000b
  103.17 +0x0c	U+000c
  103.18 +0x0d	U+000d
  103.19 +0x0e	U+000e
  103.20 +0x0f	U+000f
  103.21 +0x10	U+0010
  103.22 +0x11	U+0011
  103.23 +0x12	U+0012
  103.24 +0x13	U+0013
  103.25 +0x14	U+0014
  103.26 +0x15	U+0015
  103.27 +0x16	U+0016
  103.28 +0x17	U+0017
  103.29 +0x18	U+0018
  103.30 +0x19	U+0019
  103.31 +0x1a	U+001a
  103.32 +0x1b	U+001b
  103.33 +0x1c	U+001c
  103.34 +0x1d	U+001d
  103.35 +0x1e	U+001e
  103.36 +0x1f	U+001f
  103.37 +0x20	U+0020
  103.38 +0x21	U+0021
  103.39 +0x22	U+0022
  103.40 +0x23	U+0023
  103.41 +0x24	U+0024
  103.42 +0x25	U+0025
  103.43 +0x26	U+0026
  103.44 +0x27	U+0027
  103.45 +0x28	U+0028
  103.46 +0x29	U+0029
  103.47 +0x2a	U+002a
  103.48 +0x2b	U+002b
  103.49 +0x2c	U+002c
  103.50 +0x2d	U+002d
  103.51 +0x2e	U+002e
  103.52 +0x2f	U+002f
  103.53 +0x30	U+0030
  103.54 +0x31	U+0031
  103.55 +0x32	U+0032
  103.56 +0x33	U+0033
  103.57 +0x34	U+0034
  103.58 +0x35	U+0035
  103.59 +0x36	U+0036
  103.60 +0x37	U+0037
  103.61 +0x38	U+0038
  103.62 +0x39	U+0039
  103.63 +0x3a	U+003a
  103.64 +0x3b	U+003b
  103.65 +0x3c	U+003c
  103.66 +0x3d	U+003d
  103.67 +0x3e	U+003e
  103.68 +0x3f	U+003f
  103.69 +0x40	U+0040
  103.70 +0x41	U+0041
  103.71 +0x42	U+0042
  103.72 +0x43	U+0043
  103.73 +0x44	U+0044
  103.74 +0x45	U+0045
  103.75 +0x46	U+0046
  103.76 +0x47	U+0047
  103.77 +0x48	U+0048
  103.78 +0x49	U+0049
  103.79 +0x4a	U+004a
  103.80 +0x4b	U+004b
  103.81 +0x4c	U+004c
  103.82 +0x4d	U+004d
  103.83 +0x4e	U+004e
  103.84 +0x4f	U+004f
  103.85 +0x50	U+0050
  103.86 +0x51	U+0051
  103.87 +0x52	U+0052
  103.88 +0x53	U+0053
  103.89 +0x54	U+0054
  103.90 +0x55	U+0055
  103.91 +0x56	U+0056
  103.92 +0x57	U+0057
  103.93 +0x58	U+0058
  103.94 +0x59	U+0059
  103.95 +0x5a	U+005a
  103.96 +0x5b	U+005b
  103.97 +0x5c	U+005c
  103.98 +0x5d	U+005d
  103.99 +0x5e	U+005e
 103.100 +0x5f	U+005f
 103.101 +0x60	U+0060
 103.102 +0x61	U+0061
 103.103 +0x62	U+0062
 103.104 +0x63	U+0063
 103.105 +0x64	U+0064
 103.106 +0x65	U+0065
 103.107 +0x66	U+0066
 103.108 +0x67	U+0067
 103.109 +0x68	U+0068
 103.110 +0x69	U+0069
 103.111 +0x6a	U+006a
 103.112 +0x6b	U+006b
 103.113 +0x6c	U+006c
 103.114 +0x6d	U+006d
 103.115 +0x6e	U+006e
 103.116 +0x6f	U+006f
 103.117 +0x70	U+0070
 103.118 +0x71	U+0071
 103.119 +0x72	U+0072
 103.120 +0x73	U+0073
 103.121 +0x74	U+0074
 103.122 +0x75	U+0075
 103.123 +0x76	U+0076
 103.124 +0x77	U+0077
 103.125 +0x78	U+0078
 103.126 +0x79	U+0079
 103.127 +0x7a	U+007a
 103.128 +0x7b	U+007b
 103.129 +0x7c	U+007c
 103.130 +0x7d	U+007d
 103.131 +0x7e	U+007e
 103.132 +0x7f	U+007f
 103.133 +0x80	U+fffd
 103.134 +0x81	U+fffd
 103.135 +0x82	U+fffd
 103.136 +0x83	U+fffd
 103.137 +0x84	U+fffd
 103.138 +0x85	U+fffd
 103.139 +0x86	U+0386
 103.140 +0x87	U+fffd
 103.141 +0x88	U+00b7
 103.142 +0x89	U+00ac
 103.143 +0x8a	U+00a6
 103.144 +0x8b	U+2018
 103.145 +0x8c	U+2019
 103.146 +0x8d	U+0388
 103.147 +0x8e	U+2015
 103.148 +0x8f	U+0389
 103.149 +0x90	U+038a
 103.150 +0x91	U+03aa
 103.151 +0x92	U+038c
 103.152 +0x93	U+fffd
 103.153 +0x94	U+fffd
 103.154 +0x95	U+038e
 103.155 +0x96	U+03ab
 103.156 +0x97	U+00a9
 103.157 +0x98	U+038f
 103.158 +0x99	U+00b2
 103.159 +0x9a	U+00b3
 103.160 +0x9b	U+03ac
 103.161 +0x9c	U+00a3
 103.162 +0x9d	U+03ad
 103.163 +0x9e	U+03ae
 103.164 +0x9f	U+03af
 103.165 +0xa0	U+03ca
 103.166 +0xa1	U+0390
 103.167 +0xa2	U+03cc
 103.168 +0xa3	U+03cd
 103.169 +0xa4	U+0391
 103.170 +0xa5	U+0392
 103.171 +0xa6	U+0393
 103.172 +0xa7	U+0394
 103.173 +0xa8	U+0395
 103.174 +0xa9	U+0396
 103.175 +0xaa	U+0397
 103.176 +0xab	U+00bd
 103.177 +0xac	U+0398
 103.178 +0xad	U+0399
 103.179 +0xae	U+00ab
 103.180 +0xaf	U+00bb
 103.181 +0xb0	U+2591
 103.182 +0xb1	U+2592
 103.183 +0xb2	U+2593
 103.184 +0xb3	U+2502
 103.185 +0xb4	U+2524
 103.186 +0xb5	U+039a
 103.187 +0xb6	U+039b
 103.188 +0xb7	U+039c
 103.189 +0xb8	U+039d
 103.190 +0xb9	U+2563
 103.191 +0xba	U+2551
 103.192 +0xbb	U+2557
 103.193 +0xbc	U+255d
 103.194 +0xbd	U+039e
 103.195 +0xbe	U+039f
 103.196 +0xbf	U+2510
 103.197 +0xc0	U+2514
 103.198 +0xc1	U+2534
 103.199 +0xc2	U+252c
 103.200 +0xc3	U+251c
 103.201 +0xc4	U+2500
 103.202 +0xc5	U+253c
 103.203 +0xc6	U+03a0
 103.204 +0xc7	U+03a1
 103.205 +0xc8	U+255a
 103.206 +0xc9	U+2554
 103.207 +0xca	U+2569
 103.208 +0xcb	U+2566
 103.209 +0xcc	U+2560
 103.210 +0xcd	U+2550
 103.211 +0xce	U+256c
 103.212 +0xcf	U+03a3
 103.213 +0xd0	U+03a4
 103.214 +0xd1	U+03a5
 103.215 +0xd2	U+03a6
 103.216 +0xd3	U+03a7
 103.217 +0xd4	U+03a8
 103.218 +0xd5	U+03a9
 103.219 +0xd6	U+03b1
 103.220 +0xd7	U+03b2
 103.221 +0xd8	U+03b3
 103.222 +0xd9	U+2518
 103.223 +0xda	U+250c
 103.224 +0xdb	U+2588
 103.225 +0xdc	U+2584
 103.226 +0xdd	U+03b4
 103.227 +0xde	U+03b5
 103.228 +0xdf	U+2580
 103.229 +0xe0	U+03b6
 103.230 +0xe1	U+03b7
 103.231 +0xe2	U+03b8
 103.232 +0xe3	U+03b9
 103.233 +0xe4	U+03ba
 103.234 +0xe5	U+03bb
 103.235 +0xe6	U+03bc
 103.236 +0xe7	U+03bd
 103.237 +0xe8	U+03be
 103.238 +0xe9	U+03bf
 103.239 +0xea	U+03c0
 103.240 +0xeb	U+03c1
 103.241 +0xec	U+03c3
 103.242 +0xed	U+03c2
 103.243 +0xee	U+03c4
 103.244 +0xef	U+0384
 103.245 +0xf0	U+00ad
 103.246 +0xf1	U+00b1
 103.247 +0xf2	U+03c5
 103.248 +0xf3	U+03c6
 103.249 +0xf4	U+03c7
 103.250 +0xf5	U+00a7
 103.251 +0xf6	U+03c8
 103.252 +0xf7	U+0385
 103.253 +0xf8	U+00b0
 103.254 +0xf9	U+00a8
 103.255 +0xfa	U+03c9
 103.256 +0xfb	U+03cb
 103.257 +0xfc	U+03b0
 103.258 +0xfd	U+03ce
 103.259 +0xfe	U+25a0
 103.260 +0xff	U+00a0
   104.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   104.2 +++ b/make/tools/CharsetMapping/IBM870.c2b	Tue Jan 20 09:42:07 2009 -0800
   104.3 @@ -0,0 +1,1 @@
   104.4 +0x15	U+0085
   105.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   105.2 +++ b/make/tools/CharsetMapping/IBM870.map	Tue Jan 20 09:42:07 2009 -0800
   105.3 @@ -0,0 +1,257 @@
   105.4 +#Generated from IBM870.java
   105.5 +0x00	U+0000
   105.6 +0x01	U+0001
   105.7 +0x02	U+0002
   105.8 +0x03	U+0003
   105.9 +0x04	U+009c
  105.10 +0x05	U+0009
  105.11 +0x06	U+0086
  105.12 +0x07	U+007f
  105.13 +0x08	U+0097
  105.14 +0x09	U+008d
  105.15 +0x0a	U+008e
  105.16 +0x0b	U+000b
  105.17 +0x0c	U+000c
  105.18 +0x0d	U+000d
  105.19 +0x0e	U+000e
  105.20 +0x0f	U+000f
  105.21 +0x10	U+0010
  105.22 +0x11	U+0011
  105.23 +0x12	U+0012
  105.24 +0x13	U+0013
  105.25 +0x14	U+009d
  105.26 +0x15	U+000a
  105.27 +0x16	U+0008
  105.28 +0x17	U+0087
  105.29 +0x18	U+0018
  105.30 +0x19	U+0019
  105.31 +0x1a	U+0092
  105.32 +0x1b	U+008f
  105.33 +0x1c	U+001c
  105.34 +0x1d	U+001d
  105.35 +0x1e	U+001e
  105.36 +0x1f	U+001f
  105.37 +0x20	U+0080
  105.38 +0x21	U+0081
  105.39 +0x22	U+0082
  105.40 +0x23	U+0083
  105.41 +0x24	U+0084
  105.42 +0x25	U+000a
  105.43 +0x26	U+0017
  105.44 +0x27	U+001b
  105.45 +0x28	U+0088
  105.46 +0x29	U+0089
  105.47 +0x2a	U+008a
  105.48 +0x2b	U+008b
  105.49 +0x2c	U+008c
  105.50 +0x2d	U+0005
  105.51 +0x2e	U+0006
  105.52 +0x2f	U+0007
  105.53 +0x30	U+0090
  105.54 +0x31	U+0091
  105.55 +0x32	U+0016
  105.56 +0x33	U+0093
  105.57 +0x34	U+0094
  105.58 +0x35	U+0095
  105.59 +0x36	U+0096
  105.60 +0x37	U+0004
  105.61 +0x38	U+0098
  105.62 +0x39	U+0099
  105.63 +0x3a	U+009a
  105.64 +0x3b	U+009b
  105.65 +0x3c	U+0014
  105.66 +0x3d	U+0015
  105.67 +0x3e	U+009e
  105.68 +0x3f	U+001a
  105.69 +0x40	U+0020
  105.70 +0x41	U+00a0
  105.71 +0x42	U+00e2
  105.72 +0x43	U+00e4
  105.73 +0x44	U+0163
  105.74 +0x45	U+00e1
  105.75 +0x46	U+0103
  105.76 +0x47	U+010d
  105.77 +0x48	U+00e7
  105.78 +0x49	U+0107
  105.79 +0x4a	U+005b
  105.80 +0x4b	U+002e
  105.81 +0x4c	U+003c
  105.82 +0x4d	U+0028
  105.83 +0x4e	U+002b
  105.84 +0x4f	U+0021
  105.85 +0x50	U+0026
  105.86 +0x51	U+00e9
  105.87 +0x52	U+0119
  105.88 +0x53	U+00eb
  105.89 +0x54	U+016f
  105.90 +0x55	U+00ed
  105.91 +0x56	U+00ee
  105.92 +0x57	U+013e
  105.93 +0x58	U+013a
  105.94 +0x59	U+00df
  105.95 +0x5a	U+005d
  105.96 +0x5b	U+0024
  105.97 +0x5c	U+002a
  105.98 +0x5d	U+0029
  105.99 +0x5e	U+003b
 105.100 +0x5f	U+005e
 105.101 +0x60	U+002d
 105.102 +0x61	U+002f
 105.103 +0x62	U+00c2
 105.104 +0x63	U+00c4
 105.105 +0x64	U+02dd
 105.106 +0x65	U+00c1
 105.107 +0x66	U+0102
 105.108 +0x67	U+010c
 105.109 +0x68	U+00c7
 105.110 +0x69	U+0106
 105.111 +0x6a	U+007c
 105.112 +0x6b	U+002c
 105.113 +0x6c	U+0025
 105.114 +0x6d	U+005f
 105.115 +0x6e	U+003e
 105.116 +0x6f	U+003f
 105.117 +0x70	U+02c7
 105.118 +0x71	U+00c9
 105.119 +0x72	U+0118
 105.120 +0x73	U+00cb
 105.121 +0x74	U+016e
 105.122 +0x75	U+00cd
 105.123 +0x76	U+00ce
 105.124 +0x77	U+013d
 105.125 +0x78	U+0139
 105.126 +0x79	U+0060
 105.127 +0x7a	U+003a
 105.128 +0x7b	U+0023
 105.129 +0x7c	U+0040
 105.130 +0x7d	U+0027
 105.131 +0x7e	U+003d
 105.132 +0x7f	U+0022
 105.133 +0x80	U+02d8
 105.134 +0x81	U+0061
 105.135 +0x82	U+0062
 105.136 +0x83	U+0063
 105.137 +0x84	U+0064
 105.138 +0x85	U+0065
 105.139 +0x86	U+0066
 105.140 +0x87	U+0067
 105.141 +0x88	U+0068
 105.142 +0x89	U+0069
 105.143 +0x8a	U+015b
 105.144 +0x8b	U+0148
 105.145 +0x8c	U+0111
 105.146 +0x8d	U+00fd
 105.147 +0x8e	U+0159
 105.148 +0x8f	U+015f
 105.149 +0x90	U+00b0
 105.150 +0x91	U+006a
 105.151 +0x92	U+006b
 105.152 +0x93	U+006c
 105.153 +0x94	U+006d
 105.154 +0x95	U+006e
 105.155 +0x96	U+006f
 105.156 +0x97	U+0070
 105.157 +0x98	U+0071
 105.158 +0x99	U+0072
 105.159 +0x9a	U+0142
 105.160 +0x9b	U+0144
 105.161 +0x9c	U+0161
 105.162 +0x9d	U+00b8
 105.163 +0x9e	U+02db
 105.164 +0x9f	U+00a4
 105.165 +0xa0	U+0105
 105.166 +0xa1	U+007e
 105.167 +0xa2	U+0073
 105.168 +0xa3	U+0074
 105.169 +0xa4	U+0075
 105.170 +0xa5	U+0076
 105.171 +0xa6	U+0077
 105.172 +0xa7	U+0078
 105.173 +0xa8	U+0079
 105.174 +0xa9	U+007a
 105.175 +0xaa	U+015a
 105.176 +0xab	U+0147
 105.177 +0xac	U+0110
 105.178 +0xad	U+00dd
 105.179 +0xae	U+0158
 105.180 +0xaf	U+015e
 105.181 +0xb0	U+02d9
 105.182 +0xb1	U+0104
 105.183 +0xb2	U+017c
 105.184 +0xb3	U+0162
 105.185 +0xb4	U+017b
 105.186 +0xb5	U+00a7
 105.187 +0xb6	U+017e
 105.188 +0xb7	U+017a
 105.189 +0xb8	U+017d
 105.190 +0xb9	U+0179
 105.191 +0xba	U+0141
 105.192 +0xbb	U+0143
 105.193 +0xbc	U+0160
 105.194 +0xbd	U+00a8
 105.195 +0xbe	U+00b4
 105.196 +0xbf	U+00d7
 105.197 +0xc0	U+007b
 105.198 +0xc1	U+0041
 105.199 +0xc2	U+0042
 105.200 +0xc3	U+0043
 105.201 +0xc4	U+0044
 105.202 +0xc5	U+0045
 105.203 +0xc6	U+0046
 105.204 +0xc7	U+0047
 105.205 +0xc8	U+0048
 105.206 +0xc9	U+0049
 105.207 +0xca	U+00ad
 105.208 +0xcb	U+00f4
 105.209 +0xcc	U+00f6
 105.210 +0xcd	U+0155
 105.211 +0xce	U+00f3
 105.212 +0xcf	U+0151
 105.213 +0xd0	U+007d
 105.214 +0xd1	U+004a
 105.215 +0xd2	U+004b
 105.216 +0xd3	U+004c
 105.217 +0xd4	U+004d
 105.218 +0xd5	U+004e
 105.219 +0xd6	U+004f
 105.220 +0xd7	U+0050
 105.221 +0xd8	U+0051
 105.222 +0xd9	U+0052
 105.223 +0xda	U+011a
 105.224 +0xdb	U+0171
 105.225 +0xdc	U+00fc
 105.226 +0xdd	U+0165
 105.227 +0xde	U+00fa
 105.228 +0xdf	U+011b
 105.229 +0xe0	U+005c
 105.230 +0xe1	U+00f7
 105.231 +0xe2	U+0053
 105.232 +0xe3	U+0054
 105.233 +0xe4	U+0055
 105.234 +0xe5	U+0056
 105.235 +0xe6	U+0057
 105.236 +0xe7	U+0058
 105.237 +0xe8	U+0059
 105.238 +0xe9	U+005a
 105.239 +0xea	U+010f
 105.240 +0xeb	U+00d4
 105.241 +0xec	U+00d6
 105.242 +0xed	U+0154
 105.243 +0xee	U+00d3
 105.244 +0xef	U+0150
 105.245 +0xf0	U+0030
 105.246 +0xf1	U+0031
 105.247 +0xf2	U+0032
 105.248 +0xf3	U+0033
 105.249 +0xf4	U+0034
 105.250 +0xf5	U+0035
 105.251 +0xf6	U+0036
 105.252 +0xf7	U+0037
 105.253 +0xf8	U+0038
 105.254 +0xf9	U+0039
 105.255 +0xfa	U+010e
 105.256 +0xfb	U+0170
 105.257 +0xfc	U+00dc
 105.258 +0xfd	U+0164
 105.259 +0xfe	U+00da
 105.260 +0xff	U+009f
   106.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   106.2 +++ b/make/tools/CharsetMapping/IBM870.nr	Tue Jan 20 09:42:07 2009 -0800
   106.3 @@ -0,0 +1,1 @@
   106.4 +0x25	U+000a
   107.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   107.2 +++ b/make/tools/CharsetMapping/IBM871.c2b	Tue Jan 20 09:42:07 2009 -0800
   107.3 @@ -0,0 +1,1 @@
   107.4 +0x15	U+0085
   108.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   108.2 +++ b/make/tools/CharsetMapping/IBM871.map	Tue Jan 20 09:42:07 2009 -0800
   108.3 @@ -0,0 +1,257 @@
   108.4 +#Generated from IBM871.java
   108.5 +0x00	U+0000
   108.6 +0x01	U+0001
   108.7 +0x02	U+0002
   108.8 +0x03	U+0003
   108.9 +0x04	U+009c
  108.10 +0x05	U+0009
  108.11 +0x06	U+0086
  108.12 +0x07	U+007f
  108.13 +0x08	U+0097
  108.14 +0x09	U+008d
  108.15 +0x0a	U+008e
  108.16 +0x0b	U+000b
  108.17 +0x0c	U+000c
  108.18 +0x0d	U+000d
  108.19 +0x0e	U+000e
  108.20 +0x0f	U+000f
  108.21 +0x10	U+0010
  108.22 +0x11	U+0011
  108.23 +0x12	U+0012
  108.24 +0x13	U+0013
  108.25 +0x14	U+009d
  108.26 +0x15	U+000a
  108.27 +0x16	U+0008
  108.28 +0x17	U+0087
  108.29 +0x18	U+0018
  108.30 +0x19	U+0019
  108.31 +0x1a	U+0092
  108.32 +0x1b	U+008f
  108.33 +0x1c	U+001c
  108.34 +0x1d	U+001d
  108.35 +0x1e	U+001e
  108.36 +0x1f	U+001f
  108.37 +0x20	U+0080
  108.38 +0x21	U+0081
  108.39 +0x22	U+0082
  108.40 +0x23	U+0083
  108.41 +0x24	U+0084
  108.42 +0x25	U+000a
  108.43 +0x26	U+0017
  108.44 +0x27	U+001b
  108.45 +0x28	U+0088
  108.46 +0x29	U+0089
  108.47 +0x2a	U+008a
  108.48 +0x2b	U+008b
  108.49 +0x2c	U+008c
  108.50 +0x2d	U+0005
  108.51 +0x2e	U+0006
  108.52 +0x2f	U+0007
  108.53 +0x30	U+0090
  108.54 +0x31	U+0091
  108.55 +0x32	U+0016
  108.56 +0x33	U+0093
  108.57 +0x34	U+0094
  108.58 +0x35	U+0095
  108.59 +0x36	U+0096
  108.60 +0x37	U+0004
  108.61 +0x38	U+0098
  108.62 +0x39	U+0099
  108.63 +0x3a	U+009a
  108.64 +0x3b	U+009b
  108.65 +0x3c	U+0014
  108.66 +0x3d	U+0015
  108.67 +0x3e	U+009e
  108.68 +0x3f	U+001a
  108.69 +0x40	U+0020
  108.70 +0x41	U+00a0
  108.71 +0x42	U+00e2
  108.72 +0x43	U+00e4
  108.73 +0x44	U+00e0
  108.74 +0x45	U+00e1
  108.75 +0x46	U+00e3
  108.76 +0x47	U+00e5
  108.77 +0x48	U+00e7
  108.78 +0x49	U+00f1
  108.79 +0x4a	U+00de
  108.80 +0x4b	U+002e
  108.81 +0x4c	U+003c
  108.82 +0x4d	U+0028
  108.83 +0x4e	U+002b
  108.84 +0x4f	U+0021
  108.85 +0x50	U+0026
  108.86 +0x51	U+00e9
  108.87 +0x52	U+00ea
  108.88 +0x53	U+00eb
  108.89 +0x54	U+00e8
  108.90 +0x55	U+00ed
  108.91 +0x56	U+00ee
  108.92 +0x57	U+00ef
  108.93 +0x58	U+00ec
  108.94 +0x59	U+00df
  108.95 +0x5a	U+00c6
  108.96 +0x5b	U+0024
  108.97 +0x5c	U+002a
  108.98 +0x5d	U+0029
  108.99 +0x5e	U+003b
 108.100 +0x5f	U+00d6
 108.101 +0x60	U+002d
 108.102 +0x61	U+002f
 108.103 +0x62	U+00c2
 108.104 +0x63	U+00c4
 108.105 +0x64	U+00c0
 108.106 +0x65	U+00c1
 108.107 +0x66	U+00c3
 108.108 +0x67	U+00c5
 108.109 +0x68	U+00c7
 108.110 +0x69	U+00d1
 108.111 +0x6a	U+00a6
 108.112 +0x6b	U+002c
 108.113 +0x6c	U+0025
 108.114 +0x6d	U+005f
 108.115 +0x6e	U+003e
 108.116 +0x6f	U+003f
 108.117 +0x70	U+00f8
 108.118 +0x71	U+00c9
 108.119 +0x72	U+00ca
 108.120 +0x73	U+00cb
 108.121 +0x74	U+00c8
 108.122 +0x75	U+00cd
 108.123 +0x76	U+00ce
 108.124 +0x77	U+00cf
 108.125 +0x78	U+00cc
 108.126 +0x79	U+00f0
 108.127 +0x7a	U+003a
 108.128 +0x7b	U+0023
 108.129 +0x7c	U+00d0
 108.130 +0x7d	U+0027
 108.131 +0x7e	U+003d
 108.132 +0x7f	U+0022
 108.133 +0x80	U+00d8
 108.134 +0x81	U+0061
 108.135 +0x82	U+0062
 108.136 +0x83	U+0063
 108.137 +0x84	U+0064
 108.138 +0x85	U+0065
 108.139 +0x86	U+0066
 108.140 +0x87	U+0067
 108.141 +0x88	U+0068
 108.142 +0x89	U+0069
 108.143 +0x8a	U+00ab
 108.144 +0x8b	U+00bb
 108.145 +0x8c	U+0060
 108.146 +0x8d	U+00fd
 108.147 +0x8e	U+007b
 108.148 +0x8f	U+00b1
 108.149 +0x90	U+00b0
 108.150 +0x91	U+006a
 108.151 +0x92	U+006b
 108.152 +0x93	U+006c
 108.153 +0x94	U+006d
 108.154 +0x95	U+006e
 108.155 +0x96	U+006f
 108.156 +0x97	U+0070
 108.157 +0x98	U+0071
 108.158 +0x99	U+0072
 108.159 +0x9a	U+00aa
 108.160 +0x9b	U+00ba
 108.161 +0x9c	U+007d
 108.162 +0x9d	U+00b8
 108.163 +0x9e	U+005d
 108.164 +0x9f	U+00a4
 108.165 +0xa0	U+00b5
 108.166 +0xa1	U+00f6
 108.167 +0xa2	U+0073
 108.168 +0xa3	U+0074
 108.169 +0xa4	U+0075
 108.170 +0xa5	U+0076
 108.171 +0xa6	U+0077
 108.172 +0xa7	U+0078
 108.173 +0xa8	U+0079
 108.174 +0xa9	U+007a
 108.175 +0xaa	U+00a1
 108.176 +0xab	U+00bf
 108.177 +0xac	U+0040
 108.178 +0xad	U+00dd
 108.179 +0xae	U+005b
 108.180 +0xaf	U+00ae
 108.181 +0xb0	U+00a2
 108.182 +0xb1	U+00a3
 108.183 +0xb2	U+00a5
 108.184 +0xb3	U+00b7
 108.185 +0xb4	U+00a9
 108.186 +0xb5	U+00a7
 108.187 +0xb6	U+00b6
 108.188 +0xb7	U+00bc
 108.189 +0xb8	U+00bd
 108.190 +0xb9	U+00be
 108.191 +0xba	U+00ac
 108.192 +0xbb	U+007c
 108.193 +0xbc	U+00af
 108.194 +0xbd	U+00a8
 108.195 +0xbe	U+005c
 108.196 +0xbf	U+00d7
 108.197 +0xc0	U+00fe
 108.198 +0xc1	U+0041
 108.199 +0xc2	U+0042
 108.200 +0xc3	U+0043
 108.201 +0xc4	U+0044
 108.202 +0xc5	U+0045
 108.203 +0xc6	U+0046
 108.204 +0xc7	U+0047
 108.205 +0xc8	U+0048
 108.206 +0xc9	U+0049
 108.207 +0xca	U+00ad
 108.208 +0xcb	U+00f4
 108.209 +0xcc	U+007e
 108.210 +0xcd	U+00f2
 108.211 +0xce	U+00f3
 108.212 +0xcf	U+00f5
 108.213 +0xd0	U+00e6
 108.214 +0xd1	U+004a
 108.215 +0xd2	U+004b
 108.216 +0xd3	U+004c
 108.217 +0xd4	U+004d
 108.218 +0xd5	U+004e
 108.219 +0xd6	U+004f
 108.220 +0xd7	U+0050
 108.221 +0xd8	U+0051
 108.222 +0xd9	U+0052
 108.223 +0xda	U+00b9
 108.224 +0xdb	U+00fb
 108.225 +0xdc	U+00fc
 108.226 +0xdd	U+00f9
 108.227 +0xde	U+00fa
 108.228 +0xdf	U+00ff
 108.229 +0xe0	U+00b4
 108.230 +0xe1	U+00f7
 108.231 +0xe2	U+0053
 108.232 +0xe3	U+0054
 108.233 +0xe4	U+0055
 108.234 +0xe5	U+0056
 108.235 +0xe6	U+0057
 108.236 +0xe7	U+0058
 108.237 +0xe8	U+0059
 108.238 +0xe9	U+005a
 108.239 +0xea	U+00b2
 108.240 +0xeb	U+00d4
 108.241 +0xec	U+005e
 108.242 +0xed	U+00d2
 108.243 +0xee	U+00d3
 108.244 +0xef	U+00d5
 108.245 +0xf0	U+0030
 108.246 +0xf1	U+0031
 108.247 +0xf2	U+0032
 108.248 +0xf3	U+0033
 108.249 +0xf4	U+0034
 108.250 +0xf5	U+0035
 108.251 +0xf6	U+0036
 108.252 +0xf7	U+0037
 108.253 +0xf8	U+0038
 108.254 +0xf9	U+0039
 108.255 +0xfa	U+00b3
 108.256 +0xfb	U+00db
 108.257 +0xfc	U+00dc
 108.258 +0xfd	U+00d9
 108.259 +0xfe	U+00da
 108.260 +0xff	U+009f
   109.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   109.2 +++ b/make/tools/CharsetMapping/IBM871.nr	Tue Jan 20 09:42:07 2009 -0800
   109.3 @@ -0,0 +1,1 @@
   109.4 +0x25	U+000a
   110.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   110.2 +++ b/make/tools/CharsetMapping/IBM874.map	Tue Jan 20 09:42:07 2009 -0800
   110.3 @@ -0,0 +1,257 @@
   110.4 +#Generated from IBM874.java
   110.5 +0x00	U+0000
   110.6 +0x01	U+0001
   110.7 +0x02	U+0002
   110.8 +0x03	U+0003
   110.9 +0x04	U+0004
  110.10 +0x05	U+0005
  110.11 +0x06	U+0006
  110.12 +0x07	U+0007
  110.13 +0x08	U+0008
  110.14 +0x09	U+0009
  110.15 +0x0a	U+000a
  110.16 +0x0b	U+000b
  110.17 +0x0c	U+000c
  110.18 +0x0d	U+000d
  110.19 +0x0e	U+000e
  110.20 +0x0f	U+000f
  110.21 +0x10	U+0010
  110.22 +0x11	U+0011
  110.23 +0x12	U+0012
  110.24 +0x13	U+0013
  110.25 +0x14	U+0014
  110.26 +0x15	U+0015
  110.27 +0x16	U+0016
  110.28 +0x17	U+0017
  110.29 +0x18	U+0018
  110.30 +0x19	U+0019
  110.31 +0x1a	U+001a
  110.32 +0x1b	U+001b
  110.33 +0x1c	U+001c
  110.34 +0x1d	U+001d
  110.35 +0x1e	U+001e
  110.36 +0x1f	U+001f
  110.37 +0x20	U+0020
  110.38 +0x21	U+0021
  110.39 +0x22	U+0022
  110.40 +0x23	U+0023
  110.41 +0x24	U+0024
  110.42 +0x25	U+0025
  110.43 +0x26	U+0026
  110.44 +0x27	U+0027
  110.45 +0x28	U+0028
  110.46 +0x29	U+0029
  110.47 +0x2a	U+002a
  110.48 +0x2b	U+002b
  110.49 +0x2c	U+002c
  110.50 +0x2d	U+002d
  110.51 +0x2e	U+002e
  110.52 +0x2f	U+002f
  110.53 +0x30	U+0030
  110.54 +0x31	U+0031
  110.55 +0x32	U+0032
  110.56 +0x33	U+0033
  110.57 +0x34	U+0034
  110.58 +0x35	U+0035
  110.59 +0x36	U+0036
  110.60 +0x37	U+0037
  110.61 +0x38	U+0038
  110.62 +0x39	U+0039
  110.63 +0x3a	U+003a
  110.64 +0x3b	U+003b
  110.65 +0x3c	U+003c
  110.66 +0x3d	U+003d
  110.67 +0x3e	U+003e
  110.68 +0x3f	U+003f
  110.69 +0x40	U+0040
  110.70 +0x41	U+0041
  110.71 +0x42	U+0042
  110.72 +0x43	U+0043
  110.73 +0x44	U+0044
  110.74 +0x45	U+0045
  110.75 +0x46	U+0046
  110.76 +0x47	U+0047
  110.77 +0x48	U+0048
  110.78 +0x49	U+0049
  110.79 +0x4a	U+004a
  110.80 +0x4b	U+004b
  110.81 +0x4c	U+004c
  110.82 +0x4d	U+004d
  110.83 +0x4e	U+004e
  110.84 +0x4f	U+004f
  110.85 +0x50	U+0050
  110.86 +0x51	U+0051
  110.87 +0x52	U+0052
  110.88 +0x53	U+0053
  110.89 +0x54	U+0054
  110.90 +0x55	U+0055
  110.91 +0x56	U+0056
  110.92 +0x57	U+0057
  110.93 +0x58	U+0058
  110.94 +0x59	U+0059
  110.95 +0x5a	U+005a
  110.96 +0x5b	U+005b
  110.97 +0x5c	U+005c
  110.98 +0x5d	U+005d
  110.99 +0x5e	U+005e
 110.100 +0x5f	U+005f
 110.101 +0x60	U+0060
 110.102 +0x61	U+0061
 110.103 +0x62	U+0062
 110.104 +0x63	U+0063
 110.105 +0x64	U+0064
 110.106 +0x65	U+0065
 110.107 +0x66	U+0066
 110.108 +0x67	U+0067
 110.109 +0x68	U+0068
 110.110 +0x69	U+0069
 110.111 +0x6a	U+006a
 110.112 +0x6b	U+006b
 110.113 +0x6c	U+006c
 110.114 +0x6d	U+006d
 110.115 +0x6e	U+006e
 110.116 +0x6f	U+006f
 110.117 +0x70	U+0070
 110.118 +0x71	U+0071
 110.119 +0x72	U+0072
 110.120 +0x73	U+0073
 110.121 +0x74	U+0074
 110.122 +0x75	U+0075
 110.123 +0x76	U+0076
 110.124 +0x77	U+0077
 110.125 +0x78	U+0078
 110.126 +0x79	U+0079
 110.127 +0x7a	U+007a
 110.128 +0x7b	U+007b
 110.129 +0x7c	U+007c
 110.130 +0x7d	U+007d
 110.131 +0x7e	U+007e
 110.132 +0x7f	U+007f
 110.133 +0x80	U+20ac
 110.134 +0x81	U+fffd
 110.135 +0x82	U+fffd
 110.136 +0x83	U+fffd
 110.137 +0x84	U+fffd
 110.138 +0x85	U+fffd
 110.139 +0x86	U+fffd
 110.140 +0x87	U+fffd
 110.141 +0x88	U+fffd
 110.142 +0x89	U+fffd
 110.143 +0x8a	U+fffd
 110.144 +0x8b	U+fffd
 110.145 +0x8c	U+fffd
 110.146 +0x8d	U+fffd
 110.147 +0x8e	U+fffd
 110.148 +0x8f	U+fffd
 110.149 +0x90	U+fffd
 110.150 +0x91	U+fffd
 110.151 +0x92	U+fffd
 110.152 +0x93	U+fffd
 110.153 +0x94	U+fffd
 110.154 +0x95	U+fffd
 110.155 +0x96	U+fffd
 110.156 +0x97	U+fffd
 110.157 +0x98	U+fffd
 110.158 +0x99	U+fffd
 110.159 +0x9a	U+fffd
 110.160 +0x9b	U+fffd
 110.161 +0x9c	U+fffd
 110.162 +0x9d	U+fffd
 110.163 +0x9e	U+fffd
 110.164 +0x9f	U+fffd
 110.165 +0xa0	U+0e48
 110.166 +0xa1	U+0e01
 110.167 +0xa2	U+0e02
 110.168 +0xa3	U+0e03
 110.169 +0xa4	U+0e04
 110.170 +0xa5	U+0e05
 110.171 +0xa6	U+0e06
 110.172 +0xa7	U+0e07
 110.173 +0xa8	U+0e08
 110.174 +0xa9	U+0e09
 110.175 +0xaa	U+0e0a
 110.176 +0xab	U+0e0b
 110.177 +0xac	U+0e0c
 110.178 +0xad	U+0e0d
 110.179 +0xae	U+0e0e
 110.180 +0xaf	U+0e0f
 110.181 +0xb0	U+0e10
 110.182 +0xb1	U+0e11
 110.183 +0xb2	U+0e12
 110.184 +0xb3	U+0e13
 110.185 +0xb4	U+0e14
 110.186 +0xb5	U+0e15
 110.187 +0xb6	U+0e16
 110.188 +0xb7	U+0e17
 110.189 +0xb8	U+0e18
 110.190 +0xb9	U+0e19
 110.191 +0xba	U+0e1a
 110.192 +0xbb	U+0e1b
 110.193 +0xbc	U+0e1c
 110.194 +0xbd	U+0e1d
 110.195 +0xbe	U+0e1e
 110.196 +0xbf	U+0e1f
 110.197 +0xc0	U+0e20
 110.198 +0xc1	U+0e21
 110.199 +0xc2	U+0e22
 110.200 +0xc3	U+0e23
 110.201 +0xc4	U+0e24
 110.202 +0xc5	U+0e25
 110.203 +0xc6	U+0e26
 110.204 +0xc7	U+0e27
 110.205 +0xc8	U+0e28
 110.206 +0xc9	U+0e29
 110.207 +0xca	U+0e2a
 110.208 +0xcb	U+0e2b
 110.209 +0xcc	U+0e2c
 110.210 +0xcd	U+0e2d
 110.211 +0xce	U+0e2e
 110.212 +0xcf	U+0e2f
 110.213 +0xd0	U+0e30
 110.214 +0xd1	U+0e31
 110.215 +0xd2	U+0e32
 110.216 +0xd3	U+0e33
 110.217 +0xd4	U+0e34
 110.218 +0xd5	U+0e35
 110.219 +0xd6	U+0e36
 110.220 +0xd7	U+0e37
 110.221 +0xd8	U+0e38
 110.222 +0xd9	U+0e39
 110.223 +0xda	U+0e3a
 110.224 +0xdb	U+0e49
 110.225 +0xdc	U+0e4a
 110.226 +0xdd	U+0e4b
 110.227 +0xde	U+0e4c
 110.228 +0xdf	U+0e3f
 110.229 +0xe0	U+0e40
 110.230 +0xe1	U+0e41
 110.231 +0xe2	U+0e42
 110.232 +0xe3	U+0e43
 110.233 +0xe4	U+0e44
 110.234 +0xe5	U+0e45
 110.235 +0xe6	U+0e46
 110.236 +0xe7	U+0e47
 110.237 +0xe8	U+0e48
 110.238 +0xe9	U+0e49
 110.239 +0xea	U+0e4a
 110.240 +0xeb	U+0e4b
 110.241 +0xec	U+0e4c
 110.242 +0xed	U+0e4d
 110.243 +0xee	U+0e4e
 110.244 +0xef	U+0e4f
 110.245 +0xf0	U+0e50
 110.246 +0xf1	U+0e51
 110.247 +0xf2	U+0e52
 110.248 +0xf3	U+0e53
 110.249 +0xf4	U+0e54
 110.250 +0xf5	U+0e55
 110.251 +0xf6	U+0e56
 110.252 +0xf7	U+0e57
 110.253 +0xf8	U+0e58
 110.254 +0xf9	U+0e59
 110.255 +0xfa	U+0e5a
 110.256 +0xfb	U+0e5b
 110.257 +0xfc	U+00a2
 110.258 +0xfd	U+00ac
 110.259 +0xfe	U+00a6
 110.260 +0xff	U+00a0
   111.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   111.2 +++ b/make/tools/CharsetMapping/IBM874.nr	Tue Jan 20 09:42:07 2009 -0800
   111.3 @@ -0,0 +1,5 @@
   111.4 +0xa0	U+0e48
   111.5 +0xdb	U+0e49
   111.6 +0xdc	U+0e4a
   111.7 +0xdd	U+0e4b
   111.8 +0xde	U+0e4c
   112.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   112.2 +++ b/make/tools/CharsetMapping/IBM875.c2b	Tue Jan 20 09:42:07 2009 -0800
   112.3 @@ -0,0 +1,1 @@
   112.4 +0x15	U+0085
   113.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   113.2 +++ b/make/tools/CharsetMapping/IBM875.map	Tue Jan 20 09:42:07 2009 -0800
   113.3 @@ -0,0 +1,257 @@
   113.4 +#Generated from IBM875.java
   113.5 +0x00	U+0000
   113.6 +0x01	U+0001
   113.7 +0x02	U+0002
   113.8 +0x03	U+0003
   113.9 +0x04	U+009c
  113.10 +0x05	U+0009
  113.11 +0x06	U+0086
  113.12 +0x07	U+007f
  113.13 +0x08	U+0097
  113.14 +0x09	U+008d
  113.15 +0x0a	U+008e
  113.16 +0x0b	U+000b
  113.17 +0x0c	U+000c
  113.18 +0x0d	U+000d
  113.19 +0x0e	U+000e
  113.20 +0x0f	U+000f
  113.21 +0x10	U+0010
  113.22 +0x11	U+0011
  113.23 +0x12	U+0012
  113.24 +0x13	U+0013
  113.25 +0x14	U+009d
  113.26 +0x15	U+000a
  113.27 +0x16	U+0008
  113.28 +0x17	U+0087
  113.29 +0x18	U+0018
  113.30 +0x19	U+0019
  113.31 +0x1a	U+0092
  113.32 +0x1b	U+008f
  113.33 +0x1c	U+001c
  113.34 +0x1d	U+001d
  113.35 +0x1e	U+001e
  113.36 +0x1f	U+001f
  113.37 +0x20	U+0080
  113.38 +0x21	U+0081
  113.39 +0x22	U+0082
  113.40 +0x23	U+0083
  113.41 +0x24	U+0084
  113.42 +0x25	U+000a
  113.43 +0x26	U+0017
  113.44 +0x27	U+001b
  113.45 +0x28	U+0088
  113.46 +0x29	U+0089
  113.47 +0x2a	U+008a
  113.48 +0x2b	U+008b
  113.49 +0x2c	U+008c
  113.50 +0x2d	U+0005
  113.51 +0x2e	U+0006
  113.52 +0x2f	U+0007
  113.53 +0x30	U+0090
  113.54 +0x31	U+0091
  113.55 +0x32	U+0016
  113.56 +0x33	U+0093
  113.57 +0x34	U+0094
  113.58 +0x35	U+0095
  113.59 +0x36	U+0096
  113.60 +0x37	U+0004
  113.61 +0x38	U+0098
  113.62 +0x39	U+0099
  113.63 +0x3a	U+009a
  113.64 +0x3b	U+009b
  113.65 +0x3c	U+0014
  113.66 +0x3d	U+0015
  113.67 +0x3e	U+009e
  113.68 +0x3f	U+001a
  113.69 +0x40	U+0020
  113.70 +0x41	U+0391
  113.71 +0x42	U+0392
  113.72 +0x43	U+0393
  113.73 +0x44	U+0394
  113.74 +0x45	U+0395
  113.75 +0x46	U+0396
  113.76 +0x47	U+0397
  113.77 +0x48	U+0398
  113.78 +0x49	U+0399
  113.79 +0x4a	U+005b
  113.80 +0x4b	U+002e
  113.81 +0x4c	U+003c
  113.82 +0x4d	U+0028
  113.83 +0x4e	U+002b
  113.84 +0x4f	U+0021
  113.85 +0x50	U+0026
  113.86 +0x51	U+039a
  113.87 +0x52	U+039b
  113.88 +0x53	U+039c
  113.89 +0x54	U+039d
  113.90 +0x55	U+039e
  113.91 +0x56	U+039f
  113.92 +0x57	U+03a0
  113.93 +0x58	U+03a1
  113.94 +0x59	U+03a3
  113.95 +0x5a	U+005d
  113.96 +0x5b	U+0024
  113.97 +0x5c	U+002a
  113.98 +0x5d	U+0029
  113.99 +0x5e	U+003b
 113.100 +0x5f	U+005e
 113.101 +0x60	U+002d
 113.102 +0x61	U+002f
 113.103 +0x62	U+03a4
 113.104 +0x63	U+03a5
 113.105 +0x64	U+03a6
 113.106 +0x65	U+03a7
 113.107 +0x66	U+03a8
 113.108 +0x67	U+03a9
 113.109 +0x68	U+03aa
 113.110 +0x69	U+03ab
 113.111 +0x6a	U+007c
 113.112 +0x6b	U+002c
 113.113 +0x6c	U+0025
 113.114 +0x6d	U+005f
 113.115 +0x6e	U+003e
 113.116 +0x6f	U+003f
 113.117 +0x70	U+00a8
 113.118 +0x71	U+0386
 113.119 +0x72	U+0388
 113.120 +0x73	U+0389
 113.121 +0x74	U+00a0
 113.122 +0x75	U+038a
 113.123 +0x76	U+038c
 113.124 +0x77	U+038e
 113.125 +0x78	U+038f
 113.126 +0x79	U+0060
 113.127 +0x7a	U+003a
 113.128 +0x7b	U+0023
 113.129 +0x7c	U+0040
 113.130 +0x7d	U+0027
 113.131 +0x7e	U+003d
 113.132 +0x7f	U+0022
 113.133 +0x80	U+0385
 113.134 +0x81	U+0061
 113.135 +0x82	U+0062
 113.136 +0x83	U+0063
 113.137 +0x84	U+0064
 113.138 +0x85	U+0065
 113.139 +0x86	U+0066
 113.140 +0x87	U+0067
 113.141 +0x88	U+0068
 113.142 +0x89	U+0069
 113.143 +0x8a	U+03b1
 113.144 +0x8b	U+03b2
 113.145 +0x8c	U+03b3
 113.146 +0x8d	U+03b4
 113.147 +0x8e	U+03b5
 113.148 +0x8f	U+03b6
 113.149 +0x90	U+00b0
 113.150 +0x91	U+006a
 113.151 +0x92	U+006b
 113.152 +0x93	U+006c
 113.153 +0x94	U+006d
 113.154 +0x95	U+006e
 113.155 +0x96	U+006f
 113.156 +0x97	U+0070
 113.157 +0x98	U+0071
 113.158 +0x99	U+0072
 113.159 +0x9a	U+03b7
 113.160 +0x9b	U+03b8
 113.161 +0x9c	U+03b9
 113.162 +0x9d	U+03ba
 113.163 +0x9e	U+03bb
 113.164 +0x9f	U+03bc
 113.165 +0xa0	U+00b4
 113.166 +0xa1	U+007e
 113.167 +0xa2	U+0073
 113.168 +0xa3	U+0074
 113.169 +0xa4	U+0075
 113.170 +0xa5	U+0076
 113.171 +0xa6	U+0077
 113.172 +0xa7	U+0078
 113.173 +0xa8	U+0079
 113.174 +0xa9	U+007a
 113.175 +0xaa	U+03bd
 113.176 +0xab	U+03be
 113.177 +0xac	U+03bf
 113.178 +0xad	U+03c0
 113.179 +0xae	U+03c1
 113.180 +0xaf	U+03c3
 113.181 +0xb0	U+00a3
 113.182 +0xb1	U+03ac
 113.183 +0xb2	U+03ad
 113.184 +0xb3	U+03ae
 113.185 +0xb4	U+03ca
 113.186 +0xb5	U+03af
 113.187 +0xb6	U+03cc
 113.188 +0xb7	U+03cd
 113.189 +0xb8	U+03cb
 113.190 +0xb9	U+03ce
 113.191 +0xba	U+03c2
 113.192 +0xbb	U+03c4
 113.193 +0xbc	U+03c5
 113.194 +0xbd	U+03c6
 113.195 +0xbe	U+03c7
 113.196 +0xbf	U+03c8
 113.197 +0xc0	U+007b
 113.198 +0xc1	U+0041
 113.199 +0xc2	U+0042
 113.200 +0xc3	U+0043
 113.201 +0xc4	U+0044
 113.202 +0xc5	U+0045
 113.203 +0xc6	U+0046
 113.204 +0xc7	U+0047
 113.205 +0xc8	U+0048
 113.206 +0xc9	U+0049
 113.207 +0xca	U+00ad
 113.208 +0xcb	U+03c9
 113.209 +0xcc	U+0390
 113.210 +0xcd	U+03b0
 113.211 +0xce	U+2018
 113.212 +0xcf	U+2015
 113.213 +0xd0	U+007d
 113.214 +0xd1	U+004a
 113.215 +0xd2	U+004b
 113.216 +0xd3	U+004c
 113.217 +0xd4	U+004d
 113.218 +0xd5	U+004e
 113.219 +0xd6	U+004f
 113.220 +0xd7	U+0050
 113.221 +0xd8	U+0051
 113.222 +0xd9	U+0052
 113.223 +0xda	U+00b1
 113.224 +0xdb	U+00bd
 113.225 +0xdc	U+fffd
 113.226 +0xdd	U+0387
 113.227 +0xde	U+2019
 113.228 +0xdf	U+00a6
 113.229 +0xe0	U+005c
 113.230 +0xe1	U+fffd
 113.231 +0xe2	U+0053
 113.232 +0xe3	U+0054
 113.233 +0xe4	U+0055
 113.234 +0xe5	U+0056
 113.235 +0xe6	U+0057
 113.236 +0xe7	U+0058
 113.237 +0xe8	U+0059
 113.238 +0xe9	U+005a
 113.239 +0xea	U+00b2
 113.240 +0xeb	U+00a7
 113.241 +0xec	U+fffd
 113.242 +0xed	U+fffd
 113.243 +0xee	U+00ab
 113.244 +0xef	U+00ac
 113.245 +0xf0	U+0030
 113.246 +0xf1	U+0031
 113.247 +0xf2	U+0032
 113.248 +0xf3	U+0033
 113.249 +0xf4	U+0034
 113.250 +0xf5	U+0035
 113.251 +0xf6	U+0036
 113.252 +0xf7	U+0037
 113.253 +0xf8	U+0038
 113.254 +0xf9	U+0039
 113.255 +0xfa	U+00b3
 113.256 +0xfb	U+00a9
 113.257 +0xfc	U+fffd
 113.258 +0xfd	U+fffd
 113.259 +0xfe	U+00bb
 113.260 +0xff	U+009f
   114.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   114.2 +++ b/make/tools/CharsetMapping/IBM875.nr	Tue Jan 20 09:42:07 2009 -0800
   114.3 @@ -0,0 +1,1 @@
   114.4 +0x25	U+000a
   115.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   115.2 +++ b/make/tools/CharsetMapping/IBM918.c2b	Tue Jan 20 09:42:07 2009 -0800
   115.3 @@ -0,0 +1,1 @@
   115.4 +0x15	U+0085
   116.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   116.2 +++ b/make/tools/CharsetMapping/IBM918.map	Tue Jan 20 09:42:07 2009 -0800
   116.3 @@ -0,0 +1,257 @@
   116.4 +#Generated from IBM918.java
   116.5 +0x00	U+0000
   116.6 +0x01	U+0001
   116.7 +0x02	U+0002
   116.8 +0x03	U+0003
   116.9 +0x04	U+009c
  116.10 +0x05	U+0009
  116.11 +0x06	U+0086
  116.12 +0x07	U+007f
  116.13 +0x08	U+0097
  116.14 +0x09	U+008d
  116.15 +0x0a	U+008e
  116.16 +0x0b	U+000b
  116.17 +0x0c	U+000c
  116.18 +0x0d	U+000d
  116.19 +0x0e	U+000e
  116.20 +0x0f	U+000f
  116.21 +0x10	U+0010
  116.22 +0x11	U+0011
  116.23 +0x12	U+0012
  116.24 +0x13	U+0013
  116.25 +0x14	U+009d
  116.26 +0x15	U+000a
  116.27 +0x16	U+0008
  116.28 +0x17	U+0087
  116.29 +0x18	U+0018
  116.30 +0x19	U+0019
  116.31 +0x1a	U+0092
  116.32 +0x1b	U+008f
  116.33 +0x1c	U+001c
  116.34 +0x1d	U+001d
  116.35 +0x1e	U+001e
  116.36 +0x1f	U+001f
  116.37 +0x20	U+0080
  116.38 +0x21	U+0081
  116.39 +0x22	U+0082
  116.40 +0x23	U+0083
  116.41 +0x24	U+0084
  116.42 +0x25	U+000a
  116.43 +0x26	U+0017
  116.44 +0x27	U+001b
  116.45 +0x28	U+0088
  116.46 +0x29	U+0089
  116.47 +0x2a	U+008a
  116.48 +0x2b	U+008b
  116.49 +0x2c	U+008c
  116.50 +0x2d	U+0005
  116.51 +0x2e	U+0006
  116.52 +0x2f	U+0007
  116.53 +0x30	U+0090
  116.54 +0x31	U+0091
  116.55 +0x32	U+0016
  116.56 +0x33	U+0093
  116.57 +0x34	U+0094
  116.58 +0x35	U+0095
  116.59 +0x36	U+0096
  116.60 +0x37	U+0004
  116.61 +0x38	U+0098
  116.62 +0x39	U+0099
  116.63 +0x3a	U+009a
  116.64 +0x3b	U+009b
  116.65 +0x3c	U+0014
  116.66 +0x3d	U+0015
  116.67 +0x3e	U+009e
  116.68 +0x3f	U+001a
  116.69 +0x40	U+0020
  116.70 +0x41	U+00a0
  116.71 +0x42	U+060c
  116.72 +0x43	U+061b
  116.73 +0x44	U+061f
  116.74 +0x45	U+fe81
  116.75 +0x46	U+fe8d
  116.76 +0x47	U+fe8e
  116.77 +0x48	U+f8fb
  116.78 +0x49	U+fe8f
  116.79 +0x4a	U+005b
  116.80 +0x4b	U+002e
  116.81 +0x4c	U+003c
  116.82 +0x4d	U+0028
  116.83 +0x4e	U+002b
  116.84 +0x4f	U+0021
  116.85 +0x50	U+0026
  116.86 +0x51	U+fe91
  116.87 +0x52	U+fb56
  116.88 +0x53	U+fb58
  116.89 +0x54	U+fe93
  116.90 +0x55	U+fe95
  116.91 +0x56	U+fe97
  116.92 +0x57	U+fb66
  116.93 +0x58	U+fb68
  116.94 +0x59	U+fe99
  116.95 +0x5a	U+005d
  116.96 +0x5b	U+0024
  116.97 +0x5c	U+002a
  116.98 +0x5d	U+0029
  116.99 +0x5e	U+003b
 116.100 +0x5f	U+005e
 116.101 +0x60	U+002d
 116.102 +0x61	U+002f
 116.103 +0x62	U+fe9b
 116.104 +0x63	U+fe9d
 116.105 +0x64	U+fe9f
 116.106 +0x65	U+fb7a
 116.107 +0x66	U+fb7c
 116.108 +0x67	U+fea1
 116.109 +0x68	U+fea3
 116.110 +0x69	U+fea5
 116.111 +0x6a	U+0060
 116.112 +0x6b	U+002c
 116.113 +0x6c	U+0025
 116.114 +0x6d	U+005f
 116.115 +0x6e	U+003e
 116.116 +0x6f	U+003f
 116.117 +0x70	U+06f0
 116.118 +0x71	U+06f1
 116.119 +0x72	U+06f2
 116.120 +0x73	U+06f3
 116.121 +0x74	U+06f4
 116.122 +0x75	U+06f5
 116.123 +0x76	U+06f6
 116.124 +0x77	U+06f7
 116.125 +0x78	U+06f8
 116.126 +0x79	U+06f9
 116.127 +0x7a	U+003a
 116.128 +0x7b	U+0023
 116.129 +0x7c	U+0040
 116.130 +0x7d	U+0027
 116.131 +0x7e	U+003d
 116.132 +0x7f	U+0022
 116.133 +0x80	U+fea7
 116.134 +0x81	U+0061
 116.135 +0x82	U+0062
 116.136 +0x83	U+0063
 116.137 +0x84	U+0064
 116.138 +0x85	U+0065
 116.139 +0x86	U+0066
 116.140 +0x87	U+0067
 116.141 +0x88	U+0068
 116.142 +0x89	U+0069
 116.143 +0x8a	U+fea9
 116.144 +0x8b	U+fb88
 116.145 +0x8c	U+feab
 116.146 +0x8d	U+fead
 116.147 +0x8e	U+fb8c
 116.148 +0x8f	U+feaf
 116.149 +0x90	U+fb8a
 116.150 +0x91	U+006a
 116.151 +0x92	U+006b
 116.152 +0x93	U+006c
 116.153 +0x94	U+006d
 116.154 +0x95	U+006e
 116.155 +0x96	U+006f
 116.156 +0x97	U+0070
 116.157 +0x98	U+0071
 116.158 +0x99	U+0072
 116.159 +0x9a	U+feb1
 116.160 +0x9b	U+feb3
 116.161 +0x9c	U+feb5
 116.162 +0x9d	U+feb7
 116.163 +0x9e	U+feb9
 116.164 +0x9f	U+febb
 116.165 +0xa0	U+febd
 116.166 +0xa1	U+007e
 116.167 +0xa2	U+0073
 116.168 +0xa3	U+0074
 116.169 +0xa4	U+0075
 116.170 +0xa5	U+0076
 116.171 +0xa6	U+0077
 116.172 +0xa7	U+0078
 116.173 +0xa8	U+0079
 116.174 +0xa9	U+007a
 116.175 +0xaa	U+febf
 116.176 +0xab	U+fec3
 116.177 +0xac	U+fec7
 116.178 +0xad	U+fec9
 116.179 +0xae	U+feca
 116.180 +0xaf	U+fecb
 116.181 +0xb0	U+fecc
 116.182 +0xb1	U+fecd
 116.183 +0xb2	U+fece
 116.184 +0xb3	U+fecf
 116.185 +0xb4	U+fed0
 116.186 +0xb5	U+fed1
 116.187 +0xb6	U+fed3
 116.188 +0xb7	U+fed5
 116.189 +0xb8	U+fed7
 116.190 +0xb9	U+fb8e
 116.191 +0xba	U+fedb
 116.192 +0xbb	U+007c
 116.193 +0xbc	U+fb92
 116.194 +0xbd	U+fb94
 116.195 +0xbe	U+fedd
 116.196 +0xbf	U+fedf
 116.197 +0xc0	U+007b
 116.198 +0xc1	U+0041
 116.199 +0xc2	U+0042
 116.200 +0xc3	U+0043
 116.201 +0xc4	U+0044
 116.202 +0xc5	U+0045
 116.203 +0xc6	U+0046
 116.204 +0xc7	U+0047
 116.205 +0xc8	U+0048
 116.206 +0xc9	U+0049
 116.207 +0xca	U+00ad
 116.208 +0xcb	U+fee0
 116.209 +0xcc	U+fee1
 116.210 +0xcd	U+fee3
 116.211 +0xce	U+fb9e
 116.212 +0xcf	U+fee5
 116.213 +0xd0	U+007d
 116.214 +0xd1	U+004a
 116.215 +0xd2	U+004b
 116.216 +0xd3	U+004c
 116.217 +0xd4	U+004d
 116.218 +0xd5	U+004e
 116.219 +0xd6	U+004f
 116.220 +0xd7	U+0050
 116.221 +0xd8	U+0051
 116.222 +0xd9	U+0052
 116.223 +0xda	U+fee7
 116.224 +0xdb	U+fe85
 116.225 +0xdc	U+feed
 116.226 +0xdd	U+fba6
 116.227 +0xde	U+fba8
 116.228 +0xdf	U+fba9
 116.229 +0xe0	U+005c
 116.230 +0xe1	U+fbaa
 116.231 +0xe2	U+0053
 116.232 +0xe3	U+0054
 116.233 +0xe4	U+0055
 116.234 +0xe5	U+0056
 116.235 +0xe6	U+0057
 116.236 +0xe7	U+0058
 116.237 +0xe8	U+0059
 116.238 +0xe9	U+005a
 116.239 +0xea	U+fe80
 116.240 +0xeb	U+fe89
 116.241 +0xec	U+fe8a
 116.242 +0xed	U+fe8b
 116.243 +0xee	U+fbfc
 116.244 +0xef	U+fbfd
 116.245 +0xf0	U+0030
 116.246 +0xf1	U+0031
 116.247 +0xf2	U+0032
 116.248 +0xf3	U+0033
 116.249 +0xf4	U+0034
 116.250 +0xf5	U+0035
 116.251 +0xf6	U+0036
 116.252 +0xf7	U+0037
 116.253 +0xf8	U+0038
 116.254 +0xf9	U+0039
 116.255 +0xfa	U+fbfe
 116.256 +0xfb	U+fbb0
 116.257 +0xfc	U+fbae
 116.258 +0xfd	U+fe7c
 116.259 +0xfe	U+fe7d
 116.260 +0xff	U+009f
   117.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   117.2 +++ b/make/tools/CharsetMapping/IBM918.nr	Tue Jan 20 09:42:07 2009 -0800
   117.3 @@ -0,0 +1,1 @@
   117.4 +0x25	U+000a
   118.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   118.2 +++ b/make/tools/CharsetMapping/IBM921.map	Tue Jan 20 09:42:07 2009 -0800
   118.3 @@ -0,0 +1,257 @@
   118.4 +#Generated from IBM921.java
   118.5 +0x00	U+0000
   118.6 +0x01	U+0001
   118.7 +0x02	U+0002
   118.8 +0x03	U+0003
   118.9 +0x04	U+0004
  118.10 +0x05	U+0005
  118.11 +0x06	U+0006
  118.12 +0x07	U+0007
  118.13 +0x08	U+0008
  118.14 +0x09	U+0009
  118.15 +0x0a	U+000a
  118.16 +0x0b	U+000b
  118.17 +0x0c	U+000c
  118.18 +0x0d	U+000d
  118.19 +0x0e	U+000e
  118.20 +0x0f	U+000f
  118.21 +0x10	U+0010
  118.22 +0x11	U+0011
  118.23 +0x12	U+0012
  118.24 +0x13	U+0013
  118.25 +0x14	U+0014
  118.26 +0x15	U+0015
  118.27 +0x16	U+0016
  118.28 +0x17	U+0017
  118.29 +0x18	U+0018
  118.30 +0x19	U+0019
  118.31 +0x1a	U+001a
  118.32 +0x1b	U+001b
  118.33 +0x1c	U+001c
  118.34 +0x1d	U+001d
  118.35 +0x1e	U+001e
  118.36 +0x1f	U+001f
  118.37 +0x20	U+0020
  118.38 +0x21	U+0021
  118.39 +0x22	U+0022
  118.40 +0x23	U+0023
  118.41 +0x24	U+0024
  118.42 +0x25	U+0025
  118.43 +0x26	U+0026
  118.44 +0x27	U+0027
  118.45 +0x28	U+0028
  118.46 +0x29	U+0029
  118.47 +0x2a	U+002a
  118.48 +0x2b	U+002b
  118.49 +0x2c	U+002c
  118.50 +0x2d	U+002d
  118.51 +0x2e	U+002e
  118.52 +0x2f	U+002f
  118.53 +0x30	U+0030
  118.54 +0x31	U+0031
  118.55 +0x32	U+0032
  118.56 +0x33	U+0033
  118.57 +0x34	U+0034
  118.58 +0x35	U+0035
  118.59 +0x36	U+0036
  118.60 +0x37	U+0037
  118.61 +0x38	U+0038
  118.62 +0x39	U+0039
  118.63 +0x3a	U+003a
  118.64 +0x3b	U+003b
  118.65 +0x3c	U+003c
  118.66 +0x3d	U+003d
  118.67 +0x3e	U+003e
  118.68 +0x3f	U+003f
  118.69 +0x40	U+0040
  118.70 +0x41	U+0041
  118.71 +0x42	U+0042
  118.72 +0x43	U+0043
  118.73 +0x44	U+0044
  118.74 +0x45	U+0045
  118.75 +0x46	U+0046
  118.76 +0x47	U+0047
  118.77 +0x48	U+0048
  118.78 +0x49	U+0049
  118.79 +0x4a	U+004a
  118.80 +0x4b	U+004b
  118.81 +0x4c	U+004c
  118.82 +0x4d	U+004d
  118.83 +0x4e	U+004e
  118.84 +0x4f	U+004f
  118.85 +0x50	U+0050
  118.86 +0x51	U+0051
  118.87 +0x52	U+0052
  118.88 +0x53	U+0053
  118.89 +0x54	U+0054
  118.90 +0x55	U+0055
  118.91 +0x56	U+0056
  118.92 +0x57	U+0057
  118.93 +0x58	U+0058
  118.94 +0x59	U+0059
  118.95 +0x5a	U+005a
  118.96 +0x5b	U+005b
  118.97 +0x5c	U+005c
  118.98 +0x5d	U+005d
  118.99 +0x5e	U+005e
 118.100 +0x5f	U+005f
 118.101 +0x60	U+0060
 118.102 +0x61	U+0061
 118.103 +0x62	U+0062
 118.104 +0x63	U+0063
 118.105 +0x64	U+0064
 118.106 +0x65	U+0065
 118.107 +0x66	U+0066
 118.108 +0x67	U+0067
 118.109 +0x68	U+0068
 118.110 +0x69	U+0069
 118.111 +0x6a	U+006a
 118.112 +0x6b	U+006b
 118.113 +0x6c	U+006c
 118.114 +0x6d	U+006d
 118.115 +0x6e	U+006e
 118.116 +0x6f	U+006f
 118.117 +0x70	U+0070
 118.118 +0x71	U+0071
 118.119 +0x72	U+0072
 118.120 +0x73	U+0073
 118.121 +0x74	U+0074
 118.122 +0x75	U+0075
 118.123 +0x76	U+0076
 118.124 +0x77	U+0077
 118.125 +0x78	U+0078
 118.126 +0x79	U+0079
 118.127 +0x7a	U+007a
 118.128 +0x7b	U+007b
 118.129 +0x7c	U+007c
 118.130 +0x7d	U+007d
 118.131 +0x7e	U+007e
 118.132 +0x7f	U+007f
 118.133 +0x80	U+0080
 118.134 +0x81	U+0081
 118.135 +0x82	U+0082
 118.136 +0x83	U+0083
 118.137 +0x84	U+0084
 118.138 +0x85	U+0085
 118.139 +0x86	U+0086
 118.140 +0x87	U+0087
 118.141 +0x88	U+0088
 118.142 +0x89	U+0089
 118.143 +0x8a	U+008a
 118.144 +0x8b	U+008b
 118.145 +0x8c	U+008c
 118.146 +0x8d	U+008d
 118.147 +0x8e	U+008e
 118.148 +0x8f	U+008f
 118.149 +0x90	U+0090
 118.150 +0x91	U+0091
 118.151 +0x92	U+0092
 118.152 +0x93	U+0093
 118.153 +0x94	U+0094
 118.154 +0x95	U+0095
 118.155 +0x96	U+0096
 118.156 +0x97	U+0097
 118.157 +0x98	U+0098
 118.158 +0x99	U+0099
 118.159 +0x9a	U+009a
 118.160 +0x9b	U+009b
 118.161 +0x9c	U+009c
 118.162 +0x9d	U+009d
 118.163 +0x9e	U+009e
 118.164 +0x9f	U+009f
 118.165 +0xa0	U+00a0
 118.166 +0xa1	U+201d
 118.167 +0xa2	U+00a2
 118.168 +0xa3	U+00a3
 118.169 +0xa4	U+00a4
 118.170 +0xa5	U+201e
 118.171 +0xa6	U+00a6
 118.172 +0xa7	U+00a7
 118.173 +0xa8	U+00d8
 118.174 +0xa9	U+00a9
 118.175 +0xaa	U+0156
 118.176 +0xab	U+00ab
 118.177 +0xac	U+00ac
 118.178 +0xad	U+00ad
 118.179 +0xae	U+00ae
 118.180 +0xaf	U+00c6
 118.181 +0xb0	U+00b0
 118.182 +0xb1	U+00b1
 118.183 +0xb2	U+00b2
 118.184 +0xb3	U+00b3
 118.185 +0xb4	U+201c
 118.186 +0xb5	U+00b5
 118.187 +0xb6	U+00b6
 118.188 +0xb7	U+00b7
 118.189 +0xb8	U+00f8
 118.190 +0xb9	U+00b9
 118.191 +0xba	U+0157
 118.192 +0xbb	U+00bb
 118.193 +0xbc	U+00bc
 118.194 +0xbd	U+00bd
 118.195 +0xbe	U+00be
 118.196 +0xbf	U+00e6
 118.197 +0xc0	U+0104
 118.198 +0xc1	U+012e
 118.199 +0xc2	U+0100
 118.200 +0xc3	U+0106
 118.201 +0xc4	U+00c4
 118.202 +0xc5	U+00c5
 118.203 +0xc6	U+0118
 118.204 +0xc7	U+0112
 118.205 +0xc8	U+010c
 118.206 +0xc9	U+00c9
 118.207 +0xca	U+0179
 118.208 +0xcb	U+0116
 118.209 +0xcc	U+0122
 118.210 +0xcd	U+0136
 118.211 +0xce	U+012a
 118.212 +0xcf	U+013b
 118.213 +0xd0	U+0160
 118.214 +0xd1	U+0143
 118.215 +0xd2	U+0145
 118.216 +0xd3	U+00d3
 118.217 +0xd4	U+014c
 118.218 +0xd5	U+00d5
 118.219 +0xd6	U+00d6
 118.220 +0xd7	U+00d7
 118.221 +0xd8	U+0172
 118.222 +0xd9	U+0141
 118.223 +0xda	U+015a
 118.224 +0xdb	U+016a
 118.225 +0xdc	U+00dc
 118.226 +0xdd	U+017b
 118.227 +0xde	U+017d
 118.228 +0xdf	U+00df
 118.229 +0xe0	U+0105
 118.230 +0xe1	U+012f
 118.231 +0xe2	U+0101
 118.232 +0xe3	U+0107
 118.233 +0xe4	U+00e4
 118.234 +0xe5	U+00e5
 118.235 +0xe6	U+0119
 118.236 +0xe7	U+0113
 118.237 +0xe8	U+010d
 118.238 +0xe9	U+00e9
 118.239 +0xea	U+017a
 118.240 +0xeb	U+0117
 118.241 +0xec	U+0123
 118.242 +0xed	U+0137
 118.243 +0xee	U+012b
 118.244 +0xef	U+013c
 118.245 +0xf0	U+0161
 118.246 +0xf1	U+0144
 118.247 +0xf2	U+0146
 118.248 +0xf3	U+00f3
 118.249 +0xf4	U+014d
 118.250 +0xf5	U+00f5
 118.251 +0xf6	U+00f6
 118.252 +0xf7	U+00f7
 118.253 +0xf8	U+0173
 118.254 +0xf9	U+0142
 118.255 +0xfa	U+015b
 118.256 +0xfb	U+016b
 118.257 +0xfc	U+00fc
 118.258 +0xfd	U+017c
 118.259 +0xfe	U+017e
 118.260 +0xff	U+2019
   119.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   119.2 +++ b/make/tools/CharsetMapping/IBM922.map	Tue Jan 20 09:42:07 2009 -0800
   119.3 @@ -0,0 +1,257 @@
   119.4 +#Generated from IBM922.java
   119.5 +0x00	U+0000
   119.6 +0x01	U+0001
   119.7 +0x02	U+0002
   119.8 +0x03	U+0003
   119.9 +0x04	U+0004
  119.10 +0x05	U+0005
  119.11 +0x06	U+0006
  119.12 +0x07	U+0007
  119.13 +0x08	U+0008
  119.14 +0x09	U+0009
  119.15 +0x0a	U+000a
  119.16 +0x0b	U+000b
  119.17 +0x0c	U+000c
  119.18 +0x0d	U+000d
  119.19 +0x0e	U+000e
  119.20 +0x0f	U+000f
  119.21 +0x10	U+0010
  119.22 +0x11	U+0011
  119.23 +0x12	U+0012
  119.24 +0x13	U+0013
  119.25 +0x14	U+0014
  119.26 +0x15	U+0015
  119.27 +0x16	U+0016
  119.28 +0x17	U+0017
  119.29 +0x18	U+0018
  119.30 +0x19	U+0019
  119.31 +0x1a	U+001a
  119.32 +0x1b	U+001b
  119.33 +0x1c	U+001c
  119.34 +0x1d	U+001d
  119.35 +0x1e	U+001e
  119.36 +0x1f	U+001f
  119.37 +0x20	U+0020
  119.38 +0x21	U+0021
  119.39 +0x22	U+0022
  119.40 +0x23	U+0023
  119.41 +0x24	U+0024
  119.42 +0x25	U+0025
  119.43 +0x26	U+0026
  119.44 +0x27	U+0027
  119.45 +0x28	U+0028
  119.46 +0x29	U+0029
  119.47 +0x2a	U+002a
  119.48 +0x2b	U+002b
  119.49 +0x2c	U+002c
  119.50 +0x2d	U+002d
  119.51 +0x2e	U+002e
  119.52 +0x2f	U+002f
  119.53 +0x30	U+0030
  119.54 +0x31	U+0031
  119.55 +0x32	U+0032
  119.56 +0x33	U+0033
  119.57 +0x34	U+0034
  119.58 +0x35	U+0035
  119.59 +0x36	U+0036
  119.60 +0x37	U+0037
  119.61 +0x38	U+0038
  119.62 +0x39	U+0039
  119.63 +0x3a	U+003a
  119.64 +0x3b	U+003b
  119.65 +0x3c	U+003c
  119.66 +0x3d	U+003d
  119.67 +0x3e	U+003e
  119.68 +0x3f	U+003f
  119.69 +0x40	U+0040
  119.70 +0x41	U+0041
  119.71 +0x42	U+0042
  119.72 +0x43	U+0043
  119.73 +0x44	U+0044
  119.74 +0x45	U+0045
  119.75 +0x46	U+0046
  119.76 +0x47	U+0047
  119.77 +0x48	U+0048
  119.78 +0x49	U+0049
  119.79 +0x4a	U+004a
  119.80 +0x4b	U+004b
  119.81 +0x4c	U+004c
  119.82 +0x4d	U+004d
  119.83 +0x4e	U+004e
  119.84 +0x4f	U+004f
  119.85 +0x50	U+0050
  119.86 +0x51	U+0051
  119.87 +0x52	U+0052
  119.88 +0x53	U+0053
  119.89 +0x54	U+0054
  119.90 +0x55	U+0055
  119.91 +0x56	U+0056
  119.92 +0x57	U+0057
  119.93 +0x58	U+0058
  119.94 +0x59	U+0059
  119.95 +0x5a	U+005a
  119.96 +0x5b	U+005b
  119.97 +0x5c	U+005c
  119.98 +0x5d	U+005d
  119.99 +0x5e	U+005e
 119.100 +0x5f	U+005f
 119.101 +0x60	U+0060
 119.102 +0x61	U+0061
 119.103 +0x62	U+0062
 119.104 +0x63	U+0063
 119.105 +0x64	U+0064
 119.106 +0x65	U+0065
 119.107 +0x66	U+0066
 119.108 +0x67	U+0067
 119.109 +0x68	U+0068
 119.110 +0x69	U+0069
 119.111 +0x6a	U+006a
 119.112 +0x6b	U+006b
 119.113 +0x6c	U+006c
 119.114 +0x6d	U+006d
 119.115 +0x6e	U+006e
 119.116 +0x6f	U+006f
 119.117 +0x70	U+0070
 119.118 +0x71	U+0071
 119.119 +0x72	U+0072
 119.120 +0x73	U+0073
 119.121 +0x74	U+0074
 119.122 +0x75	U+0075
 119.123 +0x76	U+0076
 119.124 +0x77	U+0077
 119.125 +0x78	U+0078
 119.126 +0x79	U+0079
 119.127 +0x7a	U+007a
 119.128 +0x7b	U+007b
 119.129 +0x7c	U+007c
 119.130 +0x7d	U+007d
 119.131 +0x7e	U+007e
 119.132 +0x7f	U+007f
 119.133 +0x80	U+0080
 119.134 +0x81	U+0081
 119.135 +0x82	U+0082
 119.136 +0x83	U+0083
 119.137 +0x84	U+0084
 119.138 +0x85	U+0085
 119.139 +0x86	U+0086
 119.140 +0x87	U+0087
 119.141 +0x88	U+0088
 119.142 +0x89	U+0089
 119.143 +0x8a	U+008a
 119.144 +0x8b	U+008b
 119.145 +0x8c	U+008c
 119.146 +0x8d	U+008d
 119.147 +0x8e	U+008e
 119.148 +0x8f	U+008f
 119.149 +0x90	U+0090
 119.150 +0x91	U+0091
 119.151 +0x92	U+0092
 119.152 +0x93	U+0093
 119.153 +0x94	U+0094
 119.154 +0x95	U+0095
 119.155 +0x96	U+0096
 119.156 +0x97	U+0097
 119.157 +0x98	U+0098
 119.158 +0x99	U+0099
 119.159 +0x9a	U+009a
 119.160 +0x9b	U+009b
 119.161 +0x9c	U+009c
 119.162 +0x9d	U+009d
 119.163 +0x9e	U+009e
 119.164 +0x9f	U+009f
 119.165 +0xa0	U+00a0
 119.166 +0xa1	U+00a1
 119.167 +0xa2	U+00a2
 119.168 +0xa3	U+00a3
 119.169 +0xa4	U+00a4
 119.170 +0xa5	U+00a5
 119.171 +0xa6	U+00a6
 119.172 +0xa7	U+00a7
 119.173 +0xa8	U+00a8
 119.174 +0xa9	U+00a9
 119.175 +0xaa	U+00aa
 119.176 +0xab	U+00ab
 119.177 +0xac	U+00ac
 119.178 +0xad	U+00ad
 119.179 +0xae	U+00ae
 119.180 +0xaf	U+203e
 119.181 +0xb0	U+00b0
 119.182 +0xb1	U+00b1
 119.183 +0xb2	U+00b2
 119.184 +0xb3	U+00b3
 119.185 +0xb4	U+00b4
 119.186 +0xb5	U+00b5
 119.187 +0xb6	U+00b6
 119.188 +0xb7	U+00b7
 119.189 +0xb8	U+00b8
 119.190 +0xb9	U+00b9
 119.191 +0xba	U+00ba
 119.192 +0xbb	U+00bb
 119.193 +0xbc	U+00bc
 119.194 +0xbd	U+00bd
 119.195 +0xbe	U+00be
 119.196 +0xbf	U+00bf
 119.197 +0xc0	U+00c0
 119.198 +0xc1	U+00c1
 119.199 +0xc2	U+00c2
 119.200 +0xc3	U+00c3
 119.201 +0xc4	U+00c4
 119.202 +0xc5	U+00c5
 119.203 +0xc6	U+00c6
 119.204 +0xc7	U+00c7
 119.205 +0xc8	U+00c8
 119.206 +0xc9	U+00c9
 119.207 +0xca	U+00ca
 119.208 +0xcb	U+00cb
 119.209 +0xcc	U+00cc
 119.210 +0xcd	U+00cd
 119.211 +0xce	U+00ce
 119.212 +0xcf	U+00cf
 119.213 +0xd0	U+0160
 119.214 +0xd1	U+00d1
 119.215 +0xd2	U+00d2
 119.216 +0xd3	U+00d3
 119.217 +0xd4	U+00d4
 119.218 +0xd5	U+00d5
 119.219 +0xd6	U+00d6
 119.220 +0xd7	U+00d7
 119.221 +0xd8	U+00d8
 119.222 +0xd9	U+00d9
 119.223 +0xda	U+00da
 119.224 +0xdb	U+00db
 119.225 +0xdc	U+00dc
 119.226 +0xdd	U+00dd
 119.227 +0xde	U+017d
 119.228 +0xdf	U+00df
 119.229 +0xe0	U+00e0
 119.230 +0xe1	U+00e1
 119.231 +0xe2	U+00e2
 119.232 +0xe3	U+00e3
 119.233 +0xe4	U+00e4
 119.234 +0xe5	U+00e5
 119.235 +0xe6	U+00e6
 119.236 +0xe7	U+00e7
 119.237 +0xe8	U+00e8
 119.238 +0xe9	U+00e9
 119.239 +0xea	U+00ea
 119.240 +0xeb	U+00eb
 119.241 +0xec	U+00ec
 119.242 +0xed	U+00ed
 119.243 +0xee	U+00ee
 119.244 +0xef	U+00ef
 119.245 +0xf0	U+0161
 119.246 +0xf1	U+00f1
 119.247 +0xf2	U+00f2
 119.248 +0xf3	U+00f3
 119.249 +0xf4	U+00f4
 119.250 +0xf5	U+00f5
 119.251 +0xf6	U+00f6
 119.252 +0xf7	U+00f7
 119.253 +0xf8	U+00f8
 119.254 +0xf9	U+00f9
 119.255 +0xfa	U+00fa
 119.256 +0xfb	U+00fb
 119.257 +0xfc	U+00fc
 119.258 +0xfd	U+00fd
 119.259 +0xfe	U+017e
 119.260 +0xff	U+00ff
   120.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   120.2 +++ b/make/tools/CharsetMapping/ISO_8859_11.map	Tue Jan 20 09:42:07 2009 -0800
   120.3 @@ -0,0 +1,257 @@
   120.4 +#Generated from ISO_8859_11.java
   120.5 +0x00	U+0000
   120.6 +0x01	U+0001
   120.7 +0x02	U+0002
   120.8 +0x03	U+0003
   120.9 +0x04	U+0004
  120.10 +0x05	U+0005
  120.11 +0x06	U+0006
  120.12 +0x07	U+0007
  120.13 +0x08	U+0008
  120.14 +0x09	U+0009
  120.15 +0x0a	U+000a
  120.16 +0x0b	U+000b
  120.17 +0x0c	U+000c
  120.18 +0x0d	U+000d
  120.19 +0x0e	U+000e
  120.20 +0x0f	U+000f
  120.21 +0x10	U+0010
  120.22 +0x11	U+0011
  120.23 +0x12	U+0012
  120.24 +0x13	U+0013
  120.25 +0x14	U+0014
  120.26 +0x15	U+0015
  120.27 +0x16	U+0016
  120.28 +0x17	U+0017
  120.29 +0x18	U+0018
  120.30 +0x19	U+0019
  120.31 +0x1a	U+001a
  120.32 +0x1b	U+001b
  120.33 +0x1c	U+001c
  120.34 +0x1d	U+001d
  120.35 +0x1e	U+001e
  120.36 +0x1f	U+001f
  120.37 +0x20	U+0020
  120.38 +0x21	U+0021
  120.39 +0x22	U+0022
  120.40 +0x23	U+0023
  120.41 +0x24	U+0024
  120.42 +0x25	U+0025
  120.43 +0x26	U+0026
  120.44 +0x27	U+0027
  120.45 +0x28	U+0028
  120.46 +0x29	U+0029
  120.47 +0x2a	U+002a
  120.48 +0x2b	U+002b
  120.49 +0x2c	U+002c
  120.50 +0x2d	U+002d
  120.51 +0x2e	U+002e
  120.52 +0x2f	U+002f
  120.53 +0x30	U+0030
  120.54 +0x31	U+0031
  120.55 +0x32	U+0032
  120.56 +0x33	U+0033
  120.57 +0x34	U+0034
  120.58 +0x35	U+0035
  120.59 +0x36	U+0036
  120.60 +0x37	U+0037
  120.61 +0x38	U+0038
  120.62 +0x39	U+0039
  120.63 +0x3a	U+003a
  120.64 +0x3b	U+003b
  120.65 +0x3c	U+003c
  120.66 +0x3d	U+003d
  120.67 +0x3e	U+003e
  120.68 +0x3f	U+003f
  120.69 +0x40	U+0040
  120.70 +0x41	U+0041
  120.71 +0x42	U+0042
  120.72 +0x43	U+0043
  120.73 +0x44	U+0044
  120.74 +0x45	U+0045
  120.75 +0x46	U+0046
  120.76 +0x47	U+0047
  120.77 +0x48	U+0048
  120.78 +0x49	U+0049
  120.79 +0x4a	U+004a
  120.80 +0x4b	U+004b
  120.81 +0x4c	U+004c
  120.82 +0x4d	U+004d
  120.83 +0x4e	U+004e
  120.84 +0x4f	U+004f
  120.85 +0x50	U+0050
  120.86 +0x51	U+0051
  120.87 +0x52	U+0052
  120.88 +0x53	U+0053
  120.89 +0x54	U+0054
  120.90 +0x55	U+0055
  120.91 +0x56	U+0056
  120.92 +0x57	U+0057
  120.93 +0x58	U+0058
  120.94 +0x59	U+0059
  120.95 +0x5a	U+005a
  120.96 +0x5b	U+005b
  120.97 +0x5c	U+005c
  120.98 +0x5d	U+005d
  120.99 +0x5e	U+005e
 120.100 +0x5f	U+005f
 120.101 +0x60	U+0060
 120.102 +0x61	U+0061
 120.103 +0x62	U+0062
 120.104 +0x63	U+0063
 120.105 +0x64	U+0064
 120.106 +0x65	U+0065
 120.107 +0x66	U+0066
 120.108 +0x67	U+0067
 120.109 +0x68	U+0068
 120.110 +0x69	U+0069
 120.111 +0x6a	U+006a
 120.112 +0x6b	U+006b
 120.113 +0x6c	U+006c
 120.114 +0x6d	U+006d
 120.115 +0x6e	U+006e
 120.116 +0x6f	U+006f
 120.117 +0x70	U+0070
 120.118 +0x71	U+0071
 120.119 +0x72	U+0072
 120.120 +0x73	U+0073
 120.121 +0x74	U+0074
 120.122 +0x75	U+0075
 120.123 +0x76	U+0076
 120.124 +0x77	U+0077
 120.125 +0x78	U+0078
 120.126 +0x79	U+0079
 120.127 +0x7a	U+007a
 120.128 +0x7b	U+007b
 120.129 +0x7c	U+007c
 120.130 +0x7d	U+007d
 120.131 +0x7e	U+007e
 120.132 +0x7f	U+007f
 120.133 +0x80	U+0080
 120.134 +0x81	U+0081
 120.135 +0x82	U+0082
 120.136 +0x83	U+0083
 120.137 +0x84	U+0084
 120.138 +0x85	U+0085
 120.139 +0x86	U+0086
 120.140 +0x87	U+0087
 120.141 +0x88	U+0088
 120.142 +0x89	U+0089
 120.143 +0x8a	U+008a
 120.144 +0x8b	U+008b
 120.145 +0x8c	U+008c
 120.146 +0x8d	U+008d
 120.147 +0x8e	U+008e
 120.148 +0x8f	U+008f
 120.149 +0x90	U+0090
 120.150 +0x91	U+0091
 120.151 +0x92	U+0092
 120.152 +0x93	U+0093
 120.153 +0x94	U+0094
 120.154 +0x95	U+0095
 120.155 +0x96	U+0096
 120.156 +0x97	U+0097
 120.157 +0x98	U+0098
 120.158 +0x99	U+0099
 120.159 +0x9a	U+009a
 120.160 +0x9b	U+009b
 120.161 +0x9c	U+009c
 120.162 +0x9d	U+009d
 120.163 +0x9e	U+009e
 120.164 +0x9f	U+009f
 120.165 +0xa0	U+00a0
 120.166 +0xa1	U+0e01
 120.167 +0xa2	U+0e02
 120.168 +0xa3	U+0e03
 120.169 +0xa4	U+0e04
 120.170 +0xa5	U+0e05
 120.171 +0xa6	U+0e06
 120.172 +0xa7	U+0e07
 120.173 +0xa8	U+0e08
 120.174 +0xa9	U+0e09
 120.175 +0xaa	U+0e0a
 120.176 +0xab	U+0e0b
 120.177 +0xac	U+0e0c
 120.178 +0xad	U+0e0d
 120.179 +0xae	U+0e0e
 120.180 +0xaf	U+0e0f
 120.181 +0xb0	U+0e10
 120.182 +0xb1	U+0e11
 120.183 +0xb2	U+0e12
 120.184 +0xb3	U+0e13
 120.185 +0xb4	U+0e14
 120.186 +0xb5	U+0e15
 120.187 +0xb6	U+0e16
 120.188 +0xb7	U+0e17
 120.189 +0xb8	U+0e18
 120.190 +0xb9	U+0e19
 120.191 +0xba	U+0e1a
 120.192 +0xbb	U+0e1b
 120.193 +0xbc	U+0e1c
 120.194 +0xbd	U+0e1d
 120.195 +0xbe	U+0e1e
 120.196 +0xbf	U+0e1f
 120.197 +0xc0	U+0e20
 120.198 +0xc1	U+0e21
 120.199 +0xc2	U+0e22
 120.200 +0xc3	U+0e23
 120.201 +0xc4	U+0e24
 120.202 +0xc5	U+0e25
 120.203 +0xc6	U+0e26
 120.204 +0xc7	U+0e27
 120.205 +0xc8	U+0e28
 120.206 +0xc9	U+0e29
 120.207 +0xca	U+0e2a
 120.208 +0xcb	U+0e2b
 120.209 +0xcc	U+0e2c
 120.210 +0xcd	U+0e2d
 120.211 +0xce	U+0e2e
 120.212 +0xcf	U+0e2f
 120.213 +0xd0	U+0e30
 120.214 +0xd1	U+0e31
 120.215 +0xd2	U+0e32
 120.216 +0xd3	U+0e33
 120.217 +0xd4	U+0e34
 120.218 +0xd5	U+0e35
 120.219 +0xd6	U+0e36
 120.220 +0xd7	U+0e37
 120.221 +0xd8	U+0e38
 120.222 +0xd9	U+0e39
 120.223 +0xda	U+0e3a
 120.224 +0xdb	U+fffd
 120.225 +0xdc	U+fffd
 120.226 +0xdd	U+fffd
 120.227 +0xde	U+fffd
 120.228 +0xdf	U+0e3f
 120.229 +0xe0	U+0e40
 120.230 +0xe1	U+0e41
 120.231 +0xe2	U+0e42
 120.232 +0xe3	U+0e43
 120.233 +0xe4	U+0e44
 120.234 +0xe5	U+0e45
 120.235 +0xe6	U+0e46
 120.236 +0xe7	U+0e47
 120.237 +0xe8	U+0e48
 120.238 +0xe9	U+0e49
 120.239 +0xea	U+0e4a
 120.240 +0xeb	U+0e4b
 120.241 +0xec	U+0e4c
 120.242 +0xed	U+0e4d
 120.243 +0xee	U+0e4e
 120.244 +0xef	U+0e4f
 120.245 +0xf0	U+0e50
 120.246 +0xf1	U+0e51
 120.247 +0xf2	U+0e52
 120.248 +0xf3	U+0e53
 120.249 +0xf4	U+0e54
 120.250 +0xf5	U+0e55
 120.251 +0xf6	U+0e56
 120.252 +0xf7	U+0e57
 120.253 +0xf8	U+0e58
 120.254 +0xf9	U+0e59
 120.255 +0xfa	U+0e5a
 120.256 +0xfb	U+0e5b
 120.257 +0xfc	U+fffd
 120.258 +0xfd	U+fffd
 120.259 +0xfe	U+fffd
 120.260 +0xff	U+fffd
   121.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   121.2 +++ b/make/tools/CharsetMapping/ISO_8859_13.map	Tue Jan 20 09:42:07 2009 -0800
   121.3 @@ -0,0 +1,257 @@
   121.4 +#Generated from ISO_8859_13.java
   121.5 +0x00	U+0000
   121.6 +0x01	U+0001
   121.7 +0x02	U+0002
   121.8 +0x03	U+0003
   121.9 +0x04	U+0004
  121.10 +0x05	U+0005
  121.11 +0x06	U+0006
  121.12 +0x07	U+0007
  121.13 +0x08	U+0008
  121.14 +0x09	U+0009
  121.15 +0x0a	U+000a
  121.16 +0x0b	U+000b
  121.17 +0x0c	U+000c
  121.18 +0x0d	U+000d
  121.19 +0x0e	U+000e
  121.20 +0x0f	U+000f
  121.21 +0x10	U+0010
  121.22 +0x11	U+0011
  121.23 +0x12	U+0012
  121.24 +0x13	U+0013
  121.25 +0x14	U+0014
  121.26 +0x15	U+0015
  121.27 +0x16	U+0016
  121.28 +0x17	U+0017
  121.29 +0x18	U+0018
  121.30 +0x19	U+0019
  121.31 +0x1a	U+001a
  121.32 +0x1b	U+001b
  121.33 +0x1c	U+001c
  121.34 +0x1d	U+001d
  121.35 +0x1e	U+001e
  121.36 +0x1f	U+001f
  121.37 +0x20	U+0020
  121.38 +0x21	U+0021
  121.39 +0x22	U+0022
  121.40 +0x23	U+0023
  121.41 +0x24	U+0024
  121.42 +0x25	U+0025
  121.43 +0x26	U+0026
  121.44 +0x27	U+0027
  121.45 +0x28	U+0028
  121.46 +0x29	U+0029
  121.47 +0x2a	U+002a
  121.48 +0x2b	U+002b
  121.49 +0x2c	U+002c
  121.50 +0x2d	U+002d
  121.51 +0x2e	U+002e
  121.52 +0x2f	U+002f
  121.53 +0x30	U+0030
  121.54 +0x31	U+0031
  121.55 +0x32	U+0032
  121.56 +0x33	U+0033
  121.57 +0x34	U+0034
  121.58 +0x35	U+0035
  121.59 +0x36	U+0036
  121.60 +0x37	U+0037
  121.61 +0x38	U+0038
  121.62 +0x39	U+0039
  121.63 +0x3a	U+003a
  121.64 +0x3b	U+003b
  121.65 +0x3c	U+003c
  121.66 +0x3d	U+003d
  121.67 +0x3e	U+003e
  121.68 +0x3f	U+003f
  121.69 +0x40	U+0040
  121.70 +0x41	U+0041
  121.71 +0x42	U+0042
  121.72 +0x43	U+0043
  121.73 +0x44	U+0044
  121.74 +0x45	U+0045
  121.75 +0x46	U+0046
  121.76 +0x47	U+0047
  121.77 +0x48	U+0048
  121.78 +0x49	U+0049
  121.79 +0x4a	U+004a
  121.80 +0x4b	U+004b
  121.81 +0x4c	U+004c
  121.82 +0x4d	U+004d
  121.83 +0x4e	U+004e
  121.84 +0x4f	U+004f
  121.85 +0x50	U+0050
  121.86 +0x51	U+0051
  121.87 +0x52	U+0052
  121.88 +0x53	U+0053
  121.89 +0x54	U+0054
  121.90 +0x55	U+0055
  121.91 +0x56	U+0056
  121.92 +0x57	U+0057
  121.93 +0x58	U+0058
  121.94 +0x59	U+0059
  121.95 +0x5a	U+005a
  121.96 +0x5b	U+005b
  121.97 +0x5c	U+005c
  121.98 +0x5d	U+005d
  121.99 +0x5e	U+005e
 121.100 +0x5f	U+005f
 121.101 +0x60	U+0060
 121.102 +0x61	U+0061
 121.103 +0x62	U+0062
 121.104 +0x63	U+0063
 121.105 +0x64	U+0064
 121.106 +0x65	U+0065
 121.107 +0x66	U+0066
 121.108 +0x67	U+0067
 121.109 +0x68	U+0068
 121.110 +0x69	U+0069
 121.111 +0x6a	U+006a
 121.112 +0x6b	U+006b
 121.113 +0x6c	U+006c
 121.114 +0x6d	U+006d
 121.115 +0x6e	U+006e
 121.116 +0x6f	U+006f
 121.117 +0x70	U+0070
 121.118 +0x71	U+0071
 121.119 +0x72	U+0072
 121.120 +0x73	U+0073
 121.121 +0x74	U+0074
 121.122 +0x75	U+0075
 121.123 +0x76	U+0076
 121.124 +0x77	U+0077
 121.125 +0x78	U+0078
 121.126 +0x79	U+0079
 121.127 +0x7a	U+007a
 121.128 +0x7b	U+007b
 121.129 +0x7c	U+007c
 121.130 +0x7d	U+007d
 121.131 +0x7e	U+007e
 121.132 +0x7f	U+007f
 121.133 +0x80	U+0080
 121.134 +0x81	U+0081
 121.135 +0x82	U+0082
 121.136 +0x83	U+0083
 121.137 +0x84	U+0084
 121.138 +0x85	U+0085
 121.139 +0x86	U+0086
 121.140 +0x87	U+0087
 121.141 +0x88	U+0088
 121.142 +0x89	U+0089
 121.143 +0x8a	U+008a
 121.144 +0x8b	U+008b
 121.145 +0x8c	U+008c
 121.146 +0x8d	U+008d
 121.147 +0x8e	U+008e
 121.148 +0x8f	U+008f
 121.149 +0x90	U+0090
 121.150 +0x91	U+0091
 121.151 +0x92	U+0092
 121.152 +0x93	U+0093
 121.153 +0x94	U+0094
 121.154 +0x95	U+0095
 121.155 +0x96	U+0096
 121.156 +0x97	U+0097
 121.157 +0x98	U+0098
 121.158 +0x99	U+0099
 121.159 +0x9a	U+009a
 121.160 +0x9b	U+009b
 121.161 +0x9c	U+009c
 121.162 +0x9d	U+009d
 121.163 +0x9e	U+009e
 121.164 +0x9f	U+009f
 121.165 +0xa0	U+00a0
 121.166 +0xa1	U+201d
 121.167 +0xa2	U+00a2
 121.168 +0xa3	U+00a3
 121.169 +0xa4	U+00a4
 121.170 +0xa5	U+201e
 121.171 +0xa6	U+00a6
 121.172 +0xa7	U+00a7
 121.173 +0xa8	U+00d8
 121.174 +0xa9	U+00a9
 121.175 +0xaa	U+0156
 121.176 +0xab	U+00ab
 121.177 +0xac	U+00ac
 121.178 +0xad	U+00ad
 121.179 +0xae	U+00ae
 121.180 +0xaf	U+00c6
 121.181 +0xb0	U+00b0
 121.182 +0xb1	U+00b1
 121.183 +0xb2	U+00b2
 121.184 +0xb3	U+00b3
 121.185 +0xb4	U+201c
 121.186 +0xb5	U+00b5
 121.187 +0xb6	U+00b6
 121.188 +0xb7	U+00b7
 121.189 +0xb8	U+00f8
 121.190 +0xb9	U+00b9
 121.191 +0xba	U+0157
 121.192 +0xbb	U+00bb
 121.193 +0xbc	U+00bc
 121.194 +0xbd	U+00bd
 121.195 +0xbe	U+00be
 121.196 +0xbf	U+00e6
 121.197 +0xc0	U+0104
 121.198 +0xc1	U+012e
 121.199 +0xc2	U+0100
 121.200 +0xc3	U+0106
 121.201 +0xc4	U+00c4
 121.202 +0xc5	U+00c5
 121.203 +0xc6	U+0118
 121.204 +0xc7	U+0112
 121.205 +0xc8	U+010c
 121.206 +0xc9	U+00c9
 121.207 +0xca	U+0179
 121.208 +0xcb	U+0116
 121.209 +0xcc	U+0122
 121.210 +0xcd	U+0136
 121.211 +0xce	U+012a
 121.212 +0xcf	U+013b
 121.213 +0xd0	U+0160
 121.214 +0xd1	U+0143
 121.215 +0xd2	U+0145
 121.216 +0xd3	U+00d3
 121.217 +0xd4	U+014c
 121.218 +0xd5	U+00d5
 121.219 +0xd6	U+00d6
 121.220 +0xd7	U+00d7
 121.221 +0xd8	U+0172
 121.222 +0xd9	U+0141
 121.223 +0xda	U+015a
 121.224 +0xdb	U+016a
 121.225 +0xdc	U+00dc
 121.226 +0xdd	U+017b
 121.227 +0xde	U+017d
 121.228 +0xdf	U+00df
 121.229 +0xe0	U+0105
 121.230 +0xe1	U+012f
 121.231 +0xe2	U+0101
 121.232 +0xe3	U+0107
 121.233 +0xe4	U+00e4
 121.234 +0xe5	U+00e5
 121.235 +0xe6	U+0119
 121.236 +0xe7	U+0113
 121.237 +0xe8	U+010d
 121.238 +0xe9	U+00e9
 121.239 +0xea	U+017a
 121.240 +0xeb	U+0117
 121.241 +0xec	U+0123
 121.242 +0xed	U+0137
 121.243 +0xee	U+012b
 121.244 +0xef	U+013c
 121.245 +0xf0	U+0161
 121.246 +0xf1	U+0144
 121.247 +0xf2	U+0146
 121.248 +0xf3	U+00f3
 121.249 +0xf4	U+014d
 121.250 +0xf5	U+00f5
 121.251 +0xf6	U+00f6
 121.252 +0xf7	U+00f7
 121.253 +0xf8	U+0173
 121.254 +0xf9	U+0142
 121.255 +0xfa	U+015b
 121.256 +0xfb	U+016b
 121.257 +0xfc	U+00fc
 121.258 +0xfd	U+017c
 121.259 +0xfe	U+017e
 121.260 +0xff	U+2019
   122.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   122.2 +++ b/make/tools/CharsetMapping/ISO_8859_15.map	Tue Jan 20 09:42:07 2009 -0800
   122.3 @@ -0,0 +1,257 @@
   122.4 +#Generated from ISO_8859_15.java
   122.5 +0x00	U+0000
   122.6 +0x01	U+0001
   122.7 +0x02	U+0002
   122.8 +0x03	U+0003
   122.9 +0x04	U+0004
  122.10 +0x05	U+0005
  122.11 +0x06	U+0006
  122.12 +0x07	U+0007
  122.13 +0x08	U+0008
  122.14 +0x09	U+0009
  122.15 +0x0a	U+000a
  122.16 +0x0b	U+000b
  122.17 +0x0c	U+000c
  122.18 +0x0d	U+000d
  122.19 +0x0e	U+000e
  122.20 +0x0f	U+000f
  122.21 +0x10	U+0010
  122.22 +0x11	U+0011
  122.23 +0x12	U+0012
  122.24 +0x13	U+0013
  122.25 +0x14	U+0014
  122.26 +0x15	U+0015
  122.27 +0x16	U+0016
  122.28 +0x17	U+0017
  122.29 +0x18	U+0018
  122.30 +0x19	U+0019
  122.31 +0x1a	U+001a
  122.32 +0x1b	U+001b
  122.33 +0x1c	U+001c
  122.34 +0x1d	U+001d
  122.35 +0x1e	U+001e
  122.36 +0x1f	U+001f
  122.37 +0x20	U+0020
  122.38 +0x21	U+0021
  122.39 +0x22	U+0022
  122.40 +0x23	U+0023
  122.41 +0x24	U+0024
  122.42 +0x25	U+0025
  122.43 +0x26	U+0026
  122.44 +0x27	U+0027
  122.45 +0x28	U+0028
  122.46 +0x29	U+0029
  122.47 +0x2a	U+002a
  122.48 +0x2b	U+002b
  122.49 +0x2c	U+002c
  122.50 +0x2d	U+002d
  122.51 +0x2e	U+002e
  122.52 +0x2f	U+002f
  122.53 +0x30	U+0030
  122.54 +0x31	U+0031
  122.55 +0x32	U+0032
  122.56 +0x33	U+0033
  122.57 +0x34	U+0034
  122.58 +0x35	U+0035
  122.59 +0x36	U+0036
  122.60 +0x37	U+0037
  122.61 +0x38	U+0038
  122.62 +0x39	U+0039
  122.63 +0x3a	U+003a
  122.64 +0x3b	U+003b
  122.65 +0x3c	U+003c
  122.66 +0x3d	U+003d
  122.67 +0x3e	U+003e
  122.68 +0x3f	U+003f
  122.69 +0x40	U+0040
  122.70 +0x41	U+0041
  122.71 +0x42	U+0042
  122.72 +0x43	U+0043
  122.73 +0x44	U+0044
  122.74 +0x45	U+0045
  122.75 +0x46	U+0046
  122.76 +0x47	U+0047
  122.77 +0x48	U+0048
  122.78 +0x49	U+0049
  122.79 +0x4a	U+004a
  122.80 +0x4b	U+004b
  122.81 +0x4c	U+004c
  122.82 +0x4d	U+004d
  122.83 +0x4e	U+004e
  122.84 +0x4f	U+004f
  122.85 +0x50	U+0050
  122.86 +0x51	U+0051
  122.87 +0x52	U+0052
  122.88 +0x53	U+0053
  122.89 +0x54	U+0054
  122.90 +0x55	U+0055
  122.91 +0x56	U+0056
  122.92 +0x57	U+0057
  122.93 +0x58	U+0058
  122.94 +0x59	U+0059
  122.95 +0x5a	U+005a
  122.96 +0x5b	U+005b
  122.97 +0x5c	U+005c
  122.98 +0x5d	U+005d
  122.99 +0x5e	U+005e
 122.100 +0x5f	U+005f
 122.101 +0x60	U+0060
 122.102 +0x61	U+0061
 122.103 +0x62	U+0062
 122.104 +0x63	U+0063
 122.105 +0x64	U+0064
 122.106 +0x65	U+0065
 122.107 +0x66	U+0066
 122.108 +0x67	U+0067
 122.109 +0x68	U+0068
 122.110 +0x69	U+0069
 122.111 +0x6a	U+006a
 122.112 +0x6b	U+006b
 122.113 +0x6c	U+006c
 122.114 +0x6d	U+006d
 122.115 +0x6e	U+006e
 122.116 +0x6f	U+006f
 122.117 +0x70	U+0070
 122.118 +0x71	U+0071
 122.119 +0x72	U+0072
 122.120 +0x73	U+0073
 122.121 +0x74	U+0074
 122.122 +0x75	U+0075
 122.123 +0x76	U+0076
 122.124 +0x77	U+0077
 122.125 +0x78	U+0078
 122.126 +0x79	U+0079
 122.127 +0x7a	U+007a
 122.128 +0x7b	U+007b
 122.129 +0x7c	U+007c
 122.130 +0x7d	U+007d
 122.131 +0x7e	U+007e
 122.132 +0x7f	U+007f
 122.133 +0x80	U+0080
 122.134 +0x81	U+0081
 122.135 +0x82	U+0082
 122.136 +0x83	U+0083
 122.137 +0x84	U+0084
 122.138 +0x85	U+0085
 122.139 +0x86	U+0086
 122.140 +0x87	U+0087
 122.141 +0x88	U+0088
 122.142 +0x89	U+0089
 122.143 +0x8a	U+008a
 122.144 +0x8b	U+008b
 122.145 +0x8c	U+008c
 122.146 +0x8d	U+008d
 122.147 +0x8e	U+008e
 122.148 +0x8f	U+008f
 122.149 +0x90	U+0090
 122.150 +0x91	U+0091
 122.151 +0x92	U+0092
 122.152 +0x93	U+0093
 122.153 +0x94	U+0094
 122.154 +0x95	U+0095
 122.155 +0x96	U+0096
 122.156 +0x97	U+0097
 122.157 +0x98	U+0098
 122.158 +0x99	U+0099
 122.159 +0x9a	U+009a
 122.160 +0x9b	U+009b
 122.161 +0x9c	U+009c
 122.162 +0x9d	U+009d
 122.163 +0x9e	U+009e
 122.164 +0x9f	U+009f
 122.165 +0xa0	U+00a0
 122.166 +0xa1	U+00a1
 122.167 +0xa2	U+00a2
 122.168 +0xa3	U+00a3
 122.169 +0xa4	U+20ac
 122.170 +0xa5	U+00a5
 122.171 +0xa6	U+0160
 122.172 +0xa7	U+00a7
 122.173 +0xa8	U+0161
 122.174 +0xa9	U+00a9
 122.175 +0xaa	U+00aa
 122.176 +0xab	U+00ab
 122.177 +0xac	U+00ac
 122.178 +0xad	U+00ad
 122.179 +0xae	U+00ae
 122.180 +0xaf	U+00af
 122.181 +0xb0	U+00b0
 122.182 +0xb1	U+00b1
 122.183 +0xb2	U+00b2
 122.184 +0xb3	U+00b3
 122.185 +0xb4	U+017d
 122.186 +0xb5	U+00b5
 122.187 +0xb6	U+00b6
 122.188 +0xb7	U+00b7
 122.189 +0xb8	U+017e
 122.190 +0xb9	U+00b9
 122.191 +0xba	U+00ba
 122.192 +0xbb	U+00bb
 122.193 +0xbc	U+0152
 122.194 +0xbd	U+0153
 122.195 +0xbe	U+0178
 122.196 +0xbf	U+00bf
 122.197 +0xc0	U+00c0
 122.198 +0xc1	U+00c1
 122.199 +0xc2	U+00c2
 122.200 +0xc3	U+00c3
 122.201 +0xc4	U+00c4
 122.202 +0xc5	U+00c5
 122.203 +0xc6	U+00c6
 122.204 +0xc7	U+00c7
 122.205 +0xc8	U+00c8
 122.206 +0xc9	U+00c9
 122.207 +0xca	U+00ca
 122.208 +0xcb	U+00cb
 122.209 +0xcc	U+00cc
 122.210 +0xcd	U+00cd
 122.211 +0xce	U+00ce
 122.212 +0xcf	U+00cf
 122.213 +0xd0	U+00d0
 122.214 +0xd1	U+00d1
 122.215 +0xd2	U+00d2
 122.216 +0xd3	U+00d3
 122.217 +0xd4	U+00d4
 122.218 +0xd5	U+00d5
 122.219 +0xd6	U+00d6
 122.220 +0xd7	U+00d7
 122.221 +0xd8	U+00d8
 122.222 +0xd9	U+00d9
 122.223 +0xda	U+00da
 122.224 +0xdb	U+00db
 122.225 +0xdc	U+00dc
 122.226 +0xdd	U+00dd
 122.227 +0xde	U+00de
 122.228 +0xdf	U+00df
 122.229 +0xe0	U+00e0
 122.230 +0xe1	U+00e1
 122.231 +0xe2	U+00e2
 122.232 +0xe3	U+00e3
 122.233 +0xe4	U+00e4
 122.234 +0xe5	U+00e5
 122.235 +0xe6	U+00e6
 122.236 +0xe7	U+00e7
 122.237 +0xe8	U+00e8
 122.238 +0xe9	U+00e9
 122.239 +0xea	U+00ea
 122.240 +0xeb	U+00eb
 122.241 +0xec	U+00ec
 122.242 +0xed	U+00ed
 122.243 +0xee	U+00ee
 122.244 +0xef	U+00ef
 122.245 +0xf0	U+00f0
 122.246 +0xf1	U+00f1
 122.247 +0xf2	U+00f2
 122.248 +0xf3	U+00f3
 122.249 +0xf4	U+00f4
 122.250 +0xf5	U+00f5
 122.251 +0xf6	U+00f6
 122.252 +0xf7	U+00f7
 122.253 +0xf8	U+00f8
 122.254 +0xf9	U+00f9
 122.255 +0xfa	U+00fa
 122.256 +0xfb	U+00fb
 122.257 +0xfc	U+00fc
 122.258 +0xfd	U+00fd
 122.259 +0xfe	U+00fe
 122.260 +0xff	U+00ff
   123.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   123.2 +++ b/make/tools/CharsetMapping/ISO_8859_2.map	Tue Jan 20 09:42:07 2009 -0800
   123.3 @@ -0,0 +1,257 @@
   123.4 +#Generated from ISO_8859_2.java
   123.5 +0x00	U+0000
   123.6 +0x01	U+0001
   123.7 +0x02	U+0002
   123.8 +0x03	U+0003
   123.9 +0x04	U+0004
  123.10 +0x05	U+0005
  123.11 +0x06	U+0006
  123.12 +0x07	U+0007
  123.13 +0x08	U+0008
  123.14 +0x09	U+0009
  123.15 +0x0a	U+000a
  123.16 +0x0b	U+000b
  123.17 +0x0c	U+000c
  123.18 +0x0d	U+000d
  123.19 +0x0e	U+000e
  123.20 +0x0f	U+000f
  123.21 +0x10	U+0010
  123.22 +0x11	U+0011
  123.23 +0x12	U+0012
  123.24 +0x13	U+0013
  123.25 +0x14	U+0014
  123.26 +0x15	U+0015
  123.27 +0x16	U+0016
  123.28 +0x17	U+0017
  123.29 +0x18	U+0018
  123.30 +0x19	U+0019
  123.31 +0x1a	U+001a
  123.32 +0x1b	U+001b
  123.33 +0x1c	U+001c
  123.34 +0x1d	U+001d
  123.35 +0x1e	U+001e
  123.36 +0x1f	U+001f
  123.37 +0x20	U+0020
  123.38 +0x21	U+0021
  123.39 +0x22	U+0022
  123.40 +0x23	U+0023
  123.41 +0x24	U+0024
  123.42 +0x25	U+0025
  123.43 +0x26	U+0026
  123.44 +0x27	U+0027
  123.45 +0x28	U+0028
  123.46 +0x29	U+0029
  123.47 +0x2a	U+002a
  123.48 +0x2b	U+002b
  123.49 +0x2c	U+002c
  123.50 +0x2d	U+002d
  123.51 +0x2e	U+002e
  123.52 +0x2f	U+002f
  123.53 +0x30	U+0030
  123.54 +0x31	U+0031
  123.55 +0x32	U+0032
  123.56 +0x33	U+0033
  123.57 +0x34	U+0034
  123.58 +0x35	U+0035
  123.59 +0x36	U+0036
  123.60 +0x37	U+0037
  123.61 +0x38	U+0038
  123.62 +0x39	U+0039
  123.63 +0x3a	U+003a
  123.64 +0x3b	U+003b
  123.65 +0x3c	U+003c
  123.66 +0x3d	U+003d
  123.67 +0x3e	U+003e
  123.68 +0x3f	U+003f
  123.69 +0x40	U+0040
  123.70 +0x41	U+0041
  123.71 +0x42	U+0042
  123.72 +0x43	U+0043
  123.73 +0x44	U+0044
  123.74 +0x45	U+0045
  123.75 +0x46	U+0046
  123.76 +0x47	U+0047
  123.77 +0x48	U+0048
  123.78 +0x49	U+0049
  123.79 +0x4a	U+004a
  123.80 +0x4b	U+004b
  123.81 +0x4c	U+004c
  123.82 +0x4d	U+004d
  123.83 +0x4e	U+004e
  123.84 +0x4f	U+004f
  123.85 +0x50	U+0050
  123.86 +0x51	U+0051
  123.87 +0x52	U+0052
  123.88 +0x53	U+0053
  123.89 +0x54	U+0054
  123.90 +0x55	U+0055
  123.91 +0x56	U+0056
  123.92 +0x57	U+0057
  123.93 +0x58	U+0058
  123.94 +0x59	U+0059
  123.95 +0x5a	U+005a
  123.96 +0x5b	U+005b
  123.97 +0x5c	U+005c
  123.98 +0x5d	U+005d
  123.99 +0x5e	U+005e
 123.100 +0x5f	U+005f
 123.101 +0x60	U+0060
 123.102 +0x61	U+0061
 123.103 +0x62	U+0062
 123.104 +0x63	U+0063
 123.105 +0x64	U+0064
 123.106 +0x65	U+0065
 123.107 +0x66	U+0066
 123.108 +0x67	U+0067
 123.109 +0x68	U+0068
 123.110 +0x69	U+0069
 123.111 +0x6a	U+006a
 123.112 +0x6b	U+006b
 123.113 +0x6c	U+006c
 123.114 +0x6d	U+006d
 123.115 +0x6e	U+006e
 123.116 +0x6f	U+006f
 123.117 +0x70	U+0070
 123.118 +0x71	U+0071
 123.119 +0x72	U+0072
 123.120 +0x73	U+0073
 123.121 +0x74	U+0074
 123.122 +0x75	U+0075
 123.123 +0x76	U+0076
 123.124 +0x77	U+0077
 123.125 +0x78	U+0078
 123.126 +0x79	U+0079
 123.127 +0x7a	U+007a
 123.128 +0x7b	U+007b
 123.129 +0x7c	U+007c
 123.130 +0x7d	U+007d
 123.131 +0x7e	U+007e
 123.132 +0x7f	U+007f
 123.133 +0x80	U+0080
 123.134 +0x81	U+0081
 123.135 +0x82	U+0082
 123.136 +0x83	U+0083
 123.137 +0x84	U+0084
 123.138 +0x85	U+0085
 123.139 +0x86	U+0086
 123.140 +0x87	U+0087
 123.141 +0x88	U+0088
 123.142 +0x89	U+0089
 123.143 +0x8a	U+008a
 123.144 +0x8b	U+008b
 123.145 +0x8c	U+008c
 123.146 +0x8d	U+008d
 123.147 +0x8e	U+008e
 123.148 +0x8f	U+008f
 123.149 +0x90	U+0090
 123.150 +0x91	U+0091
 123.151 +0x92	U+0092
 123.152 +0x93	U+0093
 123.153 +0x94	U+0094
 123.154 +0x95	U+0095
 123.155 +0x96	U+0096
 123.156 +0x97	U+0097
 123.157 +0x98	U+0098
 123.158 +0x99	U+0099
 123.159 +0x9a	U+009a
 123.160 +0x9b	U+009b
 123.161 +0x9c	U+009c
 123.162 +0x9d	U+009d
 123.163 +0x9e	U+009e
 123.164 +0x9f	U+009f
 123.165 +0xa0	U+00a0
 123.166 +0xa1	U+0104
 123.167 +0xa2	U+02d8
 123.168 +0xa3	U+0141
 123.169 +0xa4	U+00a4
 123.170 +0xa5	U+013d
 123.171 +0xa6	U+015a
 123.172 +0xa7	U+00a7
 123.173 +0xa8	U+00a8
 123.174 +0xa9	U+0160
 123.175 +0xaa	U+015e
 123.176 +0xab	U+0164
 123.177 +0xac	U+0179
 123.178 +0xad	U+00ad
 123.179 +0xae	U+017d
 123.180 +0xaf	U+017b
 123.181 +0xb0	U+00b0
 123.182 +0xb1	U+0105
 123.183 +0xb2	U+02db
 123.184 +0xb3	U+0142
 123.185 +0xb4	U+00b4
 123.186 +0xb5	U+013e
 123.187 +0xb6	U+015b
 123.188 +0xb7	U+02c7
 123.189 +0xb8	U+00b8
 123.190 +0xb9	U+0161
 123.191 +0xba	U+015f
 123.192 +0xbb	U+0165
 123.193 +0xbc	U+017a
 123.194 +0xbd	U+02dd
 123.195 +0xbe	U+017e
 123.196 +0xbf	U+017c
 123.197 +0xc0	U+0154
 123.198 +0xc1	U+00c1
 123.199 +0xc2	U+00c2
 123.200 +0xc3	U+0102
 123.201 +0xc4	U+00c4
 123.202 +0xc5	U+0139
 123.203 +0xc6	U+0106
 123.204 +0xc7	U+00c7
 123.205 +0xc8	U+010c
 123.206 +0xc9	U+00c9
 123.207 +0xca	U+0118
 123.208 +0xcb	U+00cb
 123.209 +0xcc	U+011a
 123.210 +0xcd	U+00cd
 123.211 +0xce	U+00ce
 123.212 +0xcf	U+010e
 123.213 +0xd0	U+0110
 123.214 +0xd1	U+0143
 123.215 +0xd2	U+0147
 123.216 +0xd3	U+00d3
 123.217 +0xd4	U+00d4
 123.218 +0xd5	U+0150
 123.219 +0xd6	U+00d6
 123.220 +0xd7	U+00d7
 123.221 +0xd8	U+0158
 123.222 +0xd9	U+016e
 123.223 +0xda	U+00da
 123.224 +0xdb	U+0170
 123.225 +0xdc	U+00dc
 123.226 +0xdd	U+00dd
 123.227 +0xde	U+0162
 123.228 +0xdf	U+00df
 123.229 +0xe0	U+0155
 123.230 +0xe1	U+00e1
 123.231 +0xe2	U+00e2
 123.232 +0xe3	U+0103
 123.233 +0xe4	U+00e4
 123.234 +0xe5	U+013a
 123.235 +0xe6	U+0107
 123.236 +0xe7	U+00e7
 123.237 +0xe8	U+010d
 123.238 +0xe9	U+00e9
 123.239 +0xea	U+0119
 123.240 +0xeb	U+00eb
 123.241 +0xec	U+011b
 123.242 +0xed	U+00ed
 123.243 +0xee	U+00ee
 123.244 +0xef	U+010f
 123.245 +0xf0	U+0111
 123.246 +0xf1	U+0144
 123.247 +0xf2	U+0148
 123.248 +0xf3	U+00f3
 123.249 +0xf4	U+00f4
 123.250 +0xf5	U+0151
 123.251 +0xf6	U+00f6
 123.252 +0xf7	U+00f7
 123.253 +0xf8	U+0159
 123.254 +0xf9	U+016f
 123.255 +0xfa	U+00fa
 123.256 +0xfb	U+0171
 123.257 +0xfc	U+00fc
 123.258 +0xfd	U+00fd
 123.259 +0xfe	U+0163
 123.260 +0xff	U+02d9
   124.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   124.2 +++ b/make/tools/CharsetMapping/ISO_8859_3.map	Tue Jan 20 09:42:07 2009 -0800
   124.3 @@ -0,0 +1,257 @@
   124.4 +#Generated from ISO_8859_3.java
   124.5 +0x00	U+0000
   124.6 +0x01	U+0001
   124.7 +0x02	U+0002
   124.8 +0x03	U+0003
   124.9 +0x04	U+0004
  124.10 +0x05	U+0005
  124.11 +0x06	U+0006
  124.12 +0x07	U+0007
  124.13 +0x08	U+0008
  124.14 +0x09	U+0009
  124.15 +0x0a	U+000a
  124.16 +0x0b	U+000b
  124.17 +0x0c	U+000c
  124.18 +0x0d	U+000d
  124.19 +0x0e	U+000e
  124.20 +0x0f	U+000f
  124.21 +0x10	U+0010
  124.22 +0x11	U+0011
  124.23 +0x12	U+0012
  124.24 +0x13	U+0013
  124.25 +0x14	U+0014
  124.26 +0x15	U+0015
  124.27 +0x16	U+0016
  124.28 +0x17	U+0017
  124.29 +0x18	U+0018
  124.30 +0x19	U+0019
  124.31 +0x1a	U+001a
  124.32 +0x1b	U+001b
  124.33 +0x1c	U+001c
  124.34 +0x1d	U+001d
  124.35 +0x1e	U+001e
  124.36 +0x1f	U+001f
  124.37 +0x20	U+0020
  124.38 +0x21	U+0021
  124.39 +0x22	U+0022
  124.40 +0x23	U+0023
  124.41 +0x24	U+0024
  124.42 +0x25	U+0025
  124.43 +0x26	U+0026
  124.44 +0x27	U+0027
  124.45 +0x28	U+0028
  124.46 +0x29	U+0029
  124.47 +0x2a	U+002a
  124.48 +0x2b	U+002b
  124.49 +0x2c	U+002c
  124.50 +0x2d	U+002d
  124.51 +0x2e	U+002e
  124.52 +0x2f	U+002f
  124.53 +0x30	U+0030
  124.54 +0x31	U+0031
  124.55 +0x32	U+0032
  124.56 +0x33	U+0033
  124.57 +0x34	U+0034
  124.58 +0x35	U+0035
  124.59 +0x36	U+0036
  124.60 +0x37	U+0037
  124.61 +0x38	U+0038
  124.62 +0x39	U+0039
  124.63 +0x3a	U+003a
  124.64 +0x3b	U+003b
  124.65 +0x3c	U+003c
  124.66 +0x3d	U+003d
  124.67 +0x3e	U+003e
  124.68 +0x3f	U+003f
  124.69 +0x40	U+0040
  124.70 +0x41	U+0041
  124.71 +0x42	U+0042
  124.72 +0x43	U+0043
  124.73 +0x44	U+0044
  124.74 +0x45	U+0045
  124.75 +0x46	U+0046
  124.76 +0x47	U+0047
  124.77 +0x48	U+0048
  124.78 +0x49	U+0049
  124.79 +0x4a	U+004a
  124.80 +0x4b	U+004b
  124.81 +0x4c	U+004c
  124.82 +0x4d	U+004d
  124.83 +0x4e	U+004e
  124.84 +0x4f	U+004f
  124.85 +0x50	U+0050
  124.86 +0x51	U+0051
  124.87 +0x52	U+0052
  124.88 +0x53	U+0053
  124.89 +0x54	U+0054
  124.90 +0x55	U+0055
  124.91 +0x56	U+0056
  124.92 +0x57	U+0057
  124.93 +0x58	U+0058
  124.94 +0x59	U+0059
  124.95 +0x5a	U+005a
  124.96 +0x5b	U+005b
  124.97 +0x5c	U+005c
  124.98 +0x5d	U+005d
  124.99 +0x5e	U+005e
 124.100 +0x5f	U+005f
 124.101 +0x60	U+0060
 124.102 +0x61	U+0061
 124.103 +0x62	U+0062
 124.104 +0x63	U+0063
 124.105 +0x64	U+0064
 124.106 +0x65	U+0065
 124.107 +0x66	U+0066
 124.108 +0x67	U+0067
 124.109 +0x68	U+0068
 124.110 +0x69	U+0069
 124.111 +0x6a	U+006a
 124.112 +0x6b	U+006b
 124.113 +0x6c	U+006c
 124.114 +0x6d	U+006d
 124.115 +0x6e	U+006e
 124.116 +0x6f	U+006f
 124.117 +0x70	U+0070
 124.118 +0x71	U+0071
 124.119 +0x72	U+0072
 124.120 +0x73	U+0073
 124.121 +0x74	U+0074
 124.122 +0x75	U+0075
 124.123 +0x76	U+0076
 124.124 +0x77	U+0077
 124.125 +0x78	U+0078
 124.126 +0x79	U+0079
 124.127 +0x7a	U+007a
 124.128 +0x7b	U+007b
 124.129 +0x7c	U+007c
 124.130 +0x7d	U+007d
 124.131 +0x7e	U+007e
 124.132 +0x7f	U+007f
 124.133 +0x80	U+0080
 124.134 +0x81	U+0081
 124.135 +0x82	U+0082
 124.136 +0x83	U+0083
 124.137 +0x84	U+0084
 124.138 +0x85	U+0085
 124.139 +0x86	U+0086
 124.140 +0x87	U+0087
 124.141 +0x88	U+0088
 124.142 +0x89	U+0089
 124.143 +0x8a	U+008a
 124.144 +0x8b	U+008b
 124.145 +0x8c	U+008c
 124.146 +0x8d	U+008d
 124.147 +0x8e	U+008e
 124.148 +0x8f	U+008f
 124.149 +0x90	U+0090
 124.150 +0x91	U+0091
 124.151 +0x92	U+0092
 124.152 +0x93	U+0093
 124.153 +0x94	U+0094
 124.154 +0x95	U+0095
 124.155 +0x96	U+0096
 124.156 +0x97	U+0097
 124.157 +0x98	U+0098
 124.158 +0x99	U+0099
 124.159 +0x9a	U+009a
 124.160 +0x9b	U+009b
 124.161 +0x9c	U+009c
 124.162 +0x9d	U+009d
 124.163 +0x9e	U+009e
 124.164 +0x9f	U+009f
 124.165 +0xa0	U+00a0
 124.166 +0xa1	U+0126
 124.167 +0xa2	U+02d8
 124.168 +0xa3	U+00a3
 124.169 +0xa4	U+00a4
 124.170 +0xa5	U+fffd
 124.171 +0xa6	U+0124
 124.172 +0xa7	U+00a7
 124.173 +0xa8	U+00a8
 124.174 +0xa9	U+0130
 124.175 +0xaa	U+015e
 124.176 +0xab	U+011e
 124.177 +0xac	U+0134
 124.178 +0xad	U+00ad
 124.179 +0xae	U+fffd
 124.180 +0xaf	U+017b
 124.181 +0xb0	U+00b0
 124.182 +0xb1	U+0127
 124.183 +0xb2	U+00b2
 124.184 +0xb3	U+00b3
 124.185 +0xb4	U+00b4
 124.186 +0xb5	U+00b5
 124.187 +0xb6	U+0125
 124.188 +0xb7	U+00b7
 124.189 +0xb8	U+00b8
 124.190 +0xb9	U+0131
 124.191 +0xba	U+015f
 124.192 +0xbb	U+011f
 124.193 +0xbc	U+0135
 124.194 +0xbd	U+00bd
 124.195 +0xbe	U+fffd
 124.196 +0xbf	U+017c
 124.197 +0xc0	U+00c0
 124.198 +0xc1	U+00c1
 124.199 +0xc2	U+00c2
 124.200 +0xc3	U+fffd
 124.201 +0xc4	U+00c4
 124.202 +0xc5	U+010a
 124.203 +0xc6	U+0108
 124.204 +0xc7	U+00c7
 124.205 +0xc8	U+00c8
 124.206 +0xc9	U+00c9
 124.207 +0xca	U+00ca
 124.208 +0xcb	U+00cb
 124.209 +0xcc	U+00cc
 124.210 +0xcd	U+00cd
 124.211 +0xce	U+00ce
 124.212 +0xcf	U+00cf
 124.213 +0xd0	U+fffd
 124.214 +0xd1	U+00d1
 124.215 +0xd2	U+00d2
 124.216 +0xd3	U+00d3
 124.217 +0xd4	U+00d4
 124.218 +0xd5	U+0120
 124.219 +0xd6	U+00d6
 124.220 +0xd7	U+00d7
 124.221 +0xd8	U+011c
 124.222 +0xd9	U+00d9
 124.223 +0xda	U+00da
 124.224 +0xdb	U+00db
 124.225 +0xdc	U+00dc
 124.226 +0xdd	U+016c
 124.227 +0xde	U+015c
 124.228 +0xdf	U+00df
 124.229 +0xe0	U+00e0
 124.230 +0xe1	U+00e1
 124.231 +0xe2	U+00e2
 124.232 +0xe3	U+fffd
 124.233 +0xe4	U+00e4
 124.234 +0xe5	U+010b
 124.235 +0xe6	U+0109
 124.236 +0xe7	U+00e7
 124.237 +0xe8	U+00e8
 124.238 +0xe9	U+00e9
 124.239 +0xea	U+00ea
 124.240 +0xeb	U+00eb
 124.241 +0xec	U+00ec
 124.242 +0xed	U+00ed
 124.243 +0xee	U+00ee
 124.244 +0xef	U+00ef
 124.245 +0xf0	U+fffd
 124.246 +0xf1	U+00f1
 124.247 +0xf2	U+00f2
 124.248 +0xf3	U+00f3
 124.249 +0xf4	U+00f4
 124.250 +0xf5	U+0121
 124.251 +0xf6	U+00f6
 124.252 +0xf7	U+00f7
 124.253 +0xf8	U+011d
 124.254 +0xf9	U+00f9
 124.255 +0xfa	U+00fa
 124.256 +0xfb	U+00fb
 124.257 +0xfc	U+00fc
 124.258 +0xfd	U+016d
 124.259 +0xfe	U+015d
 124.260 +0xff	U+02d9
   125.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   125.2 +++ b/make/tools/CharsetMapping/ISO_8859_4.map	Tue Jan 20 09:42:07 2009 -0800
   125.3 @@ -0,0 +1,257 @@
   125.4 +#Generated from ISO_8859_4.java
   125.5 +0x00	U+0000
   125.6 +0x01	U+0001
   125.7 +0x02	U+0002
   125.8 +0x03	U+0003
   125.9 +0x04	U+0004
  125.10 +0x05	U+0005
  125.11 +0x06	U+0006
  125.12 +0x07	U+0007
  125.13 +0x08	U+0008
  125.14 +0x09	U+0009
  125.15 +0x0a	U+000a
  125.16 +0x0b	U+000b
  125.17 +0x0c	U+000c
  125.18 +0x0d	U+000d
  125.19 +0x0e	U+000e
  125.20 +0x0f	U+000f
  125.21 +0x10	U+0010
  125.22 +0x11	U+0011
  125.23 +0x12	U+0012
  125.24 +0x13	U+0013
  125.25 +0x14	U+0014
  125.26 +0x15	U+0015
  125.27 +0x16	U+0016
  125.28 +0x17	U+0017
  125.29 +0x18	U+0018
  125.30 +0x19	U+0019
  125.31 +0x1a	U+001a
  125.32 +0x1b	U+001b
  125.33 +0x1c	U+001c
  125.34 +0x1d	U+001d
  125.35 +0x1e	U+001e
  125.36 +0x1f	U+001f
  125.37 +0x20	U+0020
  125.38 +0x21	U+0021
  125.39 +0x22	U+0022
  125.40 +0x23	U+0023
  125.41 +0x24	U+0024
  125.42 +0x25	U+0025
  125.43 +0x26	U+0026
  125.44 +0x27	U+0027
  125.45 +0x28	U+0028
  125.46 +0x29	U+0029
  125.47 +0x2a	U+002a
  125.48 +0x2b	U+002b
  125.49 +0x2c	U+002c
  125.50 +0x2d	U+002d
  125.51 +0x2e	U+002e
  125.52 +0x2f	U+002f
  125.53 +0x30	U+0030
  125.54 +0x31	U+0031
  125.55 +0x32	U+0032
  125.56 +0x33	U+0033
  125.57 +0x34	U+0034
  125.58 +0x35	U+0035
  125.59 +0x36	U+0036
  125.60 +0x37	U+0037
  125.61 +0x38	U+0038
  125.62 +0x39	U+0039
  125.63 +0x3a	U+003a
  125.64 +0x3b	U+003b
  125.65 +0x3c	U+003c
  125.66 +0x3d	U+003d
  125.67 +0x3e	U+003e
  125.68 +0x3f	U+003f
  125.69 +0x40	U+0040
  125.70 +0x41	U+0041
  125.71 +0x42	U+0042
  125.72 +0x43	U+0043
  125.73 +0x44	U+0044
  125.74 +0x45	U+0045
  125.75 +0x46	U+0046
  125.76 +0x47	U+0047
  125.77 +0x48	U+0048
  125.78 +0x49	U+0049
  125.79 +0x4a	U+004a
  125.80 +0x4b	U+004b
  125.81 +0x4c	U+004c
  125.82 +0x4d	U+004d
  125.83 +0x4e	U+004e
  125.84 +0x4f	U+004f
  125.85 +0x50	U+0050
  125.86 +0x51	U+0051
  125.87 +0x52	U+0052
  125.88 +0x53	U+0053
  125.89 +0x54	U+0054
  125.90 +0x55	U+0055
  125.91 +0x56	U+0056
  125.92 +0x57	U+0057
  125.93 +0x58	U+0058
  125.94 +0x59	U+0059
  125.95 +0x5a	U+005a
  125.96 +0x5b	U+005b
  125.97 +0x5c	U+005c
  125.98 +0x5d	U+005d
  125.99 +0x5e	U+005e
 125.100 +0x5f	U+005f
 125.101 +0x60	U+0060
 125.102 +0x61	U+0061
 125.103 +0x62	U+0062
 125.104 +0x63	U+0063
 125.105 +0x64	U+0064
 125.106 +0x65	U+0065
 125.107 +0x66	U+0066
 125.108 +0x67	U+0067
 125.109 +0x68	U+0068
 125.110 +0x69	U+0069
 125.111 +0x6a	U+006a
 125.112 +0x6b	U+006b
 125.113 +0x6c	U+006c
 125.114 +0x6d	U+006d
 125.115 +0x6e	U+006e
 125.116 +0x6f	U+006f
 125.117 +0x70	U+0070
 125.118 +0x71	U+0071
 125.119 +0x72	U+0072
 125.120 +0x73	U+0073
 125.121 +0x74	U+0074
 125.122 +0x75	U+0075
 125.123 +0x76	U+0076
 125.124 +0x77	U+0077
 125.125 +0x78	U+0078
 125.126 +0x79	U+0079
 125.127 +0x7a	U+007a
 125.128 +0x7b	U+007b
 125.129 +0x7c	U+007c
 125.130 +0x7d	U+007d
 125.131 +0x7e	U+007e
 125.132 +0x7f	U+007f
 125.133 +0x80	U+0080
 125.134 +0x81	U+0081
 125.135 +0x82	U+0082
 125.136 +0x83	U+0083
 125.137 +0x84	U+0084
 125.138 +0x85	U+0085
 125.139 +0x86	U+0086
 125.140 +0x87	U+0087
 125.141 +0x88	U+0088
 125.142 +0x89	U+0089
 125.143 +0x8a	U+008a
 125.144 +0x8b	U+008b
 125.145 +0x8c	U+008c
 125.146 +0x8d	U+008d
 125.147 +0x8e	U+008e
 125.148 +0x8f	U+008f
 125.149 +0x90	U+0090
 125.150 +0x91	U+0091
 125.151 +0x92	U+0092
 125.152 +0x93	U+0093
 125.153 +0x94	U+0094
 125.154 +0x95	U+0095
 125.155 +0x96	U+0096
 125.156 +0x97	U+0097
 125.157 +0x98	U+0098
 125.158 +0x99	U+0099
 125.159 +0x9a	U+009a
 125.160 +0x9b	U+009b
 125.161 +0x9c	U+009c
 125.162 +0x9d	U+009d
 125.163 +0x9e	U+009e
 125.164 +0x9f	U+009f
 125.165 +0xa0	U+00a0
 125.166 +0xa1	U+0104
 125.167 +0xa2	U+0138
 125.168 +0xa3	U+0156
 125.169 +0xa4	U+00a4
 125.170 +0xa5	U+0128
 125.171 +0xa6	U+013b
 125.172 +0xa7	U+00a7
 125.173 +0xa8	U+00a8
 125.174 +0xa9	U+0160
 125.175 +0xaa	U+0112
 125.176 +0xab	U+0122
 125.177 +0xac	U+0166
 125.178 +0xad	U+00ad
 125.179 +0xae	U+017d
 125.180 +0xaf	U+00af
 125.181 +0xb0	U+00b0
 125.182 +0xb1	U+0105
 125.183 +0xb2	U+02db
 125.184 +0xb3	U+0157
 125.185 +0xb4	U+00b4
 125.186 +0xb5	U+0129
 125.187 +0xb6	U+013c
 125.188 +0xb7	U+02c7
 125.189 +0xb8	U+00b8
 125.190 +0xb9	U+0161
 125.191 +0xba	U+0113
 125.192 +0xbb	U+0123
 125.193 +0xbc	U+0167
 125.194 +0xbd	U+014a
 125.195 +0xbe	U+017e
 125.196 +0xbf	U+014b
 125.197 +0xc0	U+0100
 125.198 +0xc1	U+00c1
 125.199 +0xc2	U+00c2
 125.200 +0xc3	U+00c3
 125.201 +0xc4	U+00c4
 125.202 +0xc5	U+00c5
 125.203 +0xc6	U+00c6
 125.204 +0xc7	U+012e
 125.205 +0xc8	U+010c
 125.206 +0xc9	U+00c9
 125.207 +0xca	U+0118
 125.208 +0xcb	U+00cb
 125.209 +0xcc	U+0116
 125.210 +0xcd	U+00cd
 125.211 +0xce	U+00ce
 125.212 +0xcf	U+012a
 125.213 +0xd0	U+0110
 125.214 +0xd1	U+0145
 125.215 +0xd2	U+014c
 125.216 +0xd3	U+0136
 125.217 +0xd4	U+00d4
 125.218 +0xd5	U+00d5
 125.219 +0xd6	U+00d6
 125.220 +0xd7	U+00d7
 125.221 +0xd8	U+00d8
 125.222 +0xd9	U+0172
 125.223 +0xda	U+00da
 125.224 +0xdb	U+00db
 125.225 +0xdc	U+00dc
 125.226 +0xdd	U+0168
 125.227 +0xde	U+016a
 125.228 +0xdf	U+00df
 125.229 +0xe0	U+0101
 125.230 +0xe1	U+00e1
 125.231 +0xe2	U+00e2
 125.232 +0xe3	U+00e3
 125.233 +0xe4	U+00e4
 125.234 +0xe5	U+00e5
 125.235 +0xe6	U+00e6
 125.236 +0xe7	U+012f
 125.237 +0xe8	U+010d
 125.238 +0xe9	U+00e9
 125.239 +0xea	U+0119
 125.240 +0xeb	U+00eb
 125.241 +0xec	U+0117
 125.242 +0xed	U+00ed
 125.243 +0xee	U+00ee
 125.244 +0xef	U+012b
 125.245 +0xf0	U+0111
 125.246 +0xf1	U+0146
 125.247 +0xf2	U+014d
 125.248 +0xf3	U+0137
 125.249 +0xf4	U+00f4
 125.250 +0xf5	U+00f5
 125.251 +0xf6	U+00f6
 125.252 +0xf7	U+00f7
 125.253 +0xf8	U+00f8
 125.254 +0xf9	U+0173
 125.255 +0xfa	U+00fa
 125.256 +0xfb	U+00fb
 125.257 +0xfc	U+00fc
 125.258 +0xfd	U+0169
 125.259 +0xfe	U+016b
 125.260 +0xff	U+02d9
   126.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   126.2 +++ b/make/tools/CharsetMapping/ISO_8859_5.map	Tue Jan 20 09:42:07 2009 -0800
   126.3 @@ -0,0 +1,257 @@
   126.4 +#Generated from ISO_8859_5.java
   126.5 +0x00	U+0000
   126.6 +0x01	U+0001
   126.7 +0x02	U+0002
   126.8 +0x03	U+0003
   126.9 +0x04	U+0004
  126.10 +0x05	U+0005
  126.11 +0x06	U+0006
  126.12 +0x07	U+0007
  126.13 +0x08	U+0008
  126.14 +0x09	U+0009
  126.15 +0x0a	U+000a
  126.16 +0x0b	U+000b
  126.17 +0x0c	U+000c
  126.18 +0x0d	U+000d
  126.19 +0x0e	U+000e
  126.20 +0x0f	U+000f
  126.21 +0x10	U+0010
  126.22 +0x11	U+0011
  126.23 +0x12	U+0012
  126.24 +0x13	U+0013
  126.25 +0x14	U+0014
  126.26 +0x15	U+0015
  126.27 +0x16	U+0016
  126.28 +0x17	U+0017
  126.29 +0x18	U+0018
  126.30 +0x19	U+0019
  126.31 +0x1a	U+001a
  126.32 +0x1b	U+001b
  126.33 +0x1c	U+001c
  126.34 +0x1d	U+001d
  126.35 +0x1e	U+001e
  126.36 +0x1f	U+001f
  126.37 +0x20	U+0020
  126.38 +0x21	U+0021
  126.39 +0x22	U+0022
  126.40 +0x23	U+0023
  126.41 +0x24	U+0024
  126.42 +0x25	U+0025
  126.43 +0x26	U+0026
  126.44 +0x27	U+0027
  126.45 +0x28	U+0028
  126.46 +0x29	U+0029
  126.47 +0x2a	U+002a
  126.48 +0x2b	U+002b
  126.49 +0x2c	U+002c
  126.50 +0x2d	U+002d
  126.51 +0x2e	U+002e
  126.52 +0x2f	U+002f
  126.53 +0x30	U+0030
  126.54 +0x31	U+0031
  126.55 +0x32	U+0032
  126.56 +0x33	U+0033
  126.57 +0x34	U+0034
  126.58 +0x35	U+0035
  126.59 +0x36	U+0036
  126.60 +0x37	U+0037
  126.61 +0x38	U+0038
  126.62 +0x39	U+0039
  126.63 +0x3a	U+003a
  126.64 +0x3b	U+003b
  126.65 +0x3c	U+003c
  126.66 +0x3d	U+003d
  126.67 +0x3e	U+003e
  126.68 +0x3f	U+003f
  126.69 +0x40	U+0040
  126.70 +0x41	U+0041
  126.71 +0x42	U+0042
  126.72 +0x43	U+0043
  126.73 +0x44	U+0044
  126.74 +0x45	U+0045
  126.75 +0x46	U+0046
  126.76 +0x47	U+0047
  126.77 +0x48	U+0048
  126.78 +0x49	U+0049
  126.79 +0x4a	U+004a
  126.80 +0x4b	U+004b
  126.81 +0x4c	U+004c
  126.82 +0x4d	U+004d
  126.83 +0x4e	U+004e
  126.84 +0x4f	U+004f
  126.85 +0x50	U+0050
  126.86 +0x51	U+0051
  126.87 +0x52	U+0052
  126.88 +0x53	U+0053
  126.89 +0x54	U+0054
  126.90 +0x55	U+0055
  126.91 +0x56	U+0056
  126.92 +0x57	U+0057
  126.93 +0x58	U+0058
  126.94 +0x59	U+0059
  126.95 +0x5a	U+005a
  126.96 +0x5b	U+005b
  126.97 +0x5c	U+005c
  126.98 +0x5d	U+005d
  126.99 +0x5e	U+005e
 126.100 +0x5f	U+005f
 126.101 +0x60	U+0060
 126.102 +0x61	U+0061
 126.103 +0x62	U+0062
 126.104 +0x63	U+0063
 126.105 +0x64	U+0064
 126.106 +0x65	U+0065
 126.107 +0x66	U+0066
 126.108 +0x67	U+0067
 126.109 +0x68	U+0068
 126.110 +0x69	U+0069
 126.111 +0x6a	U+006a
 126.112 +0x6b	U+006b
 126.113 +0x6c	U+006c
 126.114 +0x6d	U+006d
 126.115 +0x6e	U+006e
 126.116 +0x6f	U+006f
 126.117 +0x70	U+0070
 126.118 +0x71	U+0071
 126.119 +0x72	U+0072
 126.120 +0x73	U+0073
 126.121 +0x74	U+0074
 126.122 +0x75	U+0075
 126.123 +0x76	U+0076
 126.124 +0x77	U+0077
 126.125 +0x78	U+0078
 126.126 +0x79	U+0079
 126.127 +0x7a	U+007a
 126.128 +0x7b	U+007b
 126.129 +0x7c	U+007c
 126.130 +0x7d	U+007d
 126.131 +0x7e	U+007e
 126.132 +0x7f	U+007f
 126.133 +0x80	U+0080
 126.134 +0x81	U+0081
 126.135 +0x82	U+0082
 126.136 +0x83	U+0083
 126.137 +0x84	U+0084
 126.138 +0x85	U+0085
 126.139 +0x86	U+0086
 126.140 +0x87	U+0087
 126.141 +0x88	U+0088
 126.142 +0x89	U+0089
 126.143 +0x8a	U+008a
 126.144 +0x8b	U+008b
 126.145 +0x8c	U+008c
 126.146 +0x8d	U+008d
 126.147 +0x8e	U+008e
 126.148 +0x8f	U+008f
 126.149 +0x90	U+0090
 126.150 +0x91	U+0091
 126.151 +0x92	U+0092
 126.152 +0x93	U+0093
 126.153 +0x94	U+0094
 126.154 +0x95	U+0095
 126.155 +0x96	U+0096
 126.156 +0x97	U+0097
 126.157 +0x98	U+0098
 126.158 +0x99	U+0099
 126.159 +0x9a	U+009a
 126.160 +0x9b	U+009b
 126.161 +0x9c	U+009c
 126.162 +0x9d	U+009d
 126.163 +0x9e	U+009e
 126.164 +0x9f	U+009f
 126.165 +0xa0	U+00a0
 126.166 +0xa1	U+0401
 126.167 +0xa2	U+0402
 126.168 +0xa3	U+0403
 126.169 +0xa4	U+0404
 126.170 +0xa5	U+0405
 126.171 +0xa6	U+0406
 126.172 +0xa7	U+0407
 126.173 +0xa8	U+0408
 126.174 +0xa9	U+0409
 126.175 +0xaa	U+040a
 126.176 +0xab	U+040b
 126.177 +0xac	U+040c
 126.178 +0xad	U+00ad
 126.179 +0xae	U+040e
 126.180 +0xaf	U+040f
 126.181 +0xb0	U+0410
 126.182 +0xb1	U+0411
 126.183 +0xb2	U+0412
 126.184 +0xb3	U+0413
 126.185 +0xb4	U+0414
 126.186 +0xb5	U+0415
 126.187 +0xb6	U+0416
 126.188 +0xb7	U+0417
 126.189 +0xb8	U+0418
 126.190 +0xb9	U+0419
 126.191 +0xba	U+041a
 126.192 +0xbb	U+041b
 126.193 +0xbc	U+041c
 126.194 +0xbd	U+041d
 126.195 +0xbe	U+041e
 126.196 +0xbf	U+041f
 126.197 +0xc0	U+0420
 126.198 +0xc1	U+0421
 126.199 +0xc2	U+0422
 126.200 +0xc3	U+0423
 126.201 +0xc4	U+0424
 126.202 +0xc5	U+0425
 126.203 +0xc6	U+0426
 126.204 +0xc7	U+0427
 126.205 +0xc8	U+0428
 126.206 +0xc9	U+0429
 126.207 +0xca	U+042a
 126.208 +0xcb	U+042b
 126.209 +0xcc	U+042c
 126.210 +0xcd	U+042d
 126.211 +0xce	U+042e
 126.212 +0xcf	U+042f
 126.213 +0xd0	U+0430
 126.214 +0xd1	U+0431
 126.215 +0xd2	U+0432
 126.216 +0xd3	U+0433
 126.217 +0xd4	U+0434
 126.218 +0xd5	U+0435
 126.219 +0xd6	U+0436
 126.220 +0xd7	U+0437
 126.221 +0xd8	U+0438
 126.222 +0xd9	U+0439
 126.223 +0xda	U+043a
 126.224 +0xdb	U+043b
 126.225 +0xdc	U+043c
 126.226 +0xdd	U+043d
 126.227 +0xde	U+043e
 126.228 +0xdf	U+043f
 126.229 +0xe0	U+0440
 126.230 +0xe1	U+0441
 126.231 +0xe2	U+0442
 126.232 +0xe3	U+0443
 126.233 +0xe4	U+0444
 126.234 +0xe5	U+0445
 126.235 +0xe6	U+0446
 126.236 +0xe7	U+0447
 126.237 +0xe8	U+0448
 126.238 +0xe9	U+0449
 126.239 +0xea	U+044a
 126.240 +0xeb	U+044b
 126.241 +0xec	U+044c
 126.242 +0xed	U+044d
 126.243 +0xee	U+044e
 126.244 +0xef	U+044f
 126.245 +0xf0	U+2116
 126.246 +0xf1	U+0451
 126.247 +0xf2	U+0452
 126.248 +0xf3	U+0453
 126.249 +0xf4	U+0454
 126.250 +0xf5	U+0455
 126.251 +0xf6	U+0456
 126.252 +0xf7	U+0457
 126.253 +0xf8	U+0458
 126.254 +0xf9	U+0459
 126.255 +0xfa	U+045a
 126.256 +0xfb	U+045b
 126.257 +0xfc	U+045c
 126.258 +0xfd	U+00a7
 126.259 +0xfe	U+045e
 126.260 +0xff	U+045f
   127.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   127.2 +++ b/make/tools/CharsetMapping/ISO_8859_6.map	Tue Jan 20 09:42:07 2009 -0800
   127.3 @@ -0,0 +1,257 @@
   127.4 +#Generated from ISO_8859_6.java
   127.5 +0x00	U+0000
   127.6 +0x01	U+0001
   127.7 +0x02	U+0002
   127.8 +0x03	U+0003
   127.9 +0x04	U+0004
  127.10 +0x05	U+0005
  127.11 +0x06	U+0006
  127.12 +0x07	U+0007
  127.13 +0x08	U+0008
  127.14 +0x09	U+0009
  127.15 +0x0a	U+000a
  127.16 +0x0b	U+000b
  127.17 +0x0c	U+000c
  127.18 +0x0d	U+000d
  127.19 +0x0e	U+000e
  127.20 +0x0f	U+000f
  127.21 +0x10	U+0010
  127.22 +0x11	U+0011
  127.23 +0x12	U+0012
  127.24 +0x13	U+0013
  127.25 +0x14	U+0014
  127.26 +0x15	U+0015
  127.27 +0x16	U+0016
  127.28 +0x17	U+0017
  127.29 +0x18	U+0018
  127.30 +0x19	U+0019
  127.31 +0x1a	U+001a
  127.32 +0x1b	U+001b
  127.33 +0x1c	U+001c
  127.34 +0x1d	U+001d
  127.35 +0x1e	U+001e
  127.36 +0x1f	U+001f
  127.37 +0x20	U+0020
  127.38 +0x21	U+0021
  127.39 +0x22	U+0022
  127.40 +0x23	U+0023
  127.41 +0x24	U+0024
  127.42 +0x25	U+0025
  127.43 +0x26	U+0026
  127.44 +0x27	U+0027
  127.45 +0x28	U+0028
  127.46 +0x29	U+0029
  127.47 +0x2a	U+002a
  127.48 +0x2b	U+002b
  127.49 +0x2c	U+002c
  127.50 +0x2d	U+002d
  127.51 +0x2e	U+002e
  127.52 +0x2f	U+002f
  127.53 +0x30	U+0030
  127.54 +0x31	U+0031
  127.55 +0x32	U+0032
  127.56 +0x33	U+0033
  127.57 +0x34	U+0034
  127.58 +0x35	U+0035
  127.59 +0x36	U+0036
  127.60 +0x37	U+0037
  127.61 +0x38	U+0038
  127.62 +0x39	U+0039
  127.63 +0x3a	U+003a
  127.64 +0x3b	U+003b
  127.65 +0x3c	U+003c
  127.66 +0x3d	U+003d
  127.67 +0x3e	U+003e
  127.68 +0x3f	U+003f
  127.69 +0x40	U+0040
  127.70 +0x41	U+0041
  127.71 +0x42	U+0042
  127.72 +0x43	U+0043
  127.73 +0x44	U+0044
  127.74 +0x45	U+0045
  127.75 +0x46	U+0046
  127.76 +0x47	U+0047
  127.77 +0x48	U+0048
  127.78 +0x49	U+0049
  127.79 +0x4a	U+004a
  127.80 +0x4b	U+004b
  127.81 +0x4c	U+004c
  127.82 +0x4d	U+004d
  127.83 +0x4e	U+004e
  127.84 +0x4f	U+004f
  127.85 +0x50	U+0050
  127.86 +0x51	U+0051
  127.87 +0x52	U+0052
  127.88 +0x53	U+0053
  127.89 +0x54	U+0054
  127.90 +0x55	U+0055
  127.91 +0x56	U+0056
  127.92 +0x57	U+0057
  127.93 +0x58	U+0058
  127.94 +0x59	U+0059
  127.95 +0x5a	U+005a
  127.96 +0x5b	U+005b
  127.97 +0x5c	U+005c
  127.98 +0x5d	U+005d
  127.99 +0x5e	U+005e
 127.100 +0x5f	U+005f
 127.101 +0x60	U+0060
 127.102 +0x61	U+0061
 127.103 +0x62	U+0062
 127.104 +0x63	U+0063
 127.105 +0x64	U+0064
 127.106 +0x65	U+0065
 127.107 +0x66	U+0066
 127.108 +0x67	U+0067
 127.109 +0x68	U+0068
 127.110 +0x69	U+0069
 127.111 +0x6a	U+006a
 127.112 +0x6b	U+006b
 127.113 +0x6c	U+006c
 127.114 +0x6d	U+006d
 127.115 +0x6e	U+006e
 127.116 +0x6f	U+006f
 127.117 +0x70	U+0070
 127.118 +0x71	U+0071
 127.119 +0x72	U+0072
 127.120 +0x73	U+0073
 127.121 +0x74	U+0074
 127.122 +0x75	U+0075
 127.123 +0x76	U+0076
 127.124 +0x77	U+0077
 127.125 +0x78	U+0078
 127.126 +0x79	U+0079
 127.127 +0x7a	U+007a
 127.128 +0x7b	U+007b
 127.129 +0x7c	U+007c
 127.130 +0x7d	U+007d
 127.131 +0x7e	U+007e
 127.132 +0x7f	U+007f
 127.133 +0x80	U+0080
 127.134 +0x81	U+0081
 127.135 +0x82	U+0082
 127.136 +0x83	U+0083
 127.137 +0x84	U+0084
 127.138 +0x85	U+0085
 127.139 +0x86	U+0086
 127.140 +0x87	U+0087
 127.141 +0x88	U+0088
 127.142 +0x89	U+0089
 127.143 +0x8a	U+008a
 127.144 +0x8b	U+008b
 127.145 +0x8c	U+008c
 127.146 +0x8d	U+008d
 127.147 +0x8e	U+008e
 127.148 +0x8f	U+008f
 127.149 +0x90	U+0090
 127.150 +0x91	U+0091
 127.151 +0x92	U+0092
 127.152 +0x93	U+0093
 127.153 +0x94	U+0094
 127.154 +0x95	U+0095
 127.155 +0x96	U+0096
 127.156 +0x97	U+0097
 127.157 +0x98	U+0098
 127.158 +0x99	U+0099
 127.159 +0x9a	U+009a
 127.160 +0x9b	U+009b
 127.161 +0x9c	U+009c
 127.162 +0x9d	U+009d
 127.163 +0x9e	U+009e
 127.164 +0x9f	U+009f
 127.165 +0xa0	U+00a0
 127.166 +0xa1	U+fffd
 127.167 +0xa2	U+fffd
 127.168 +0xa3	U+fffd
 127.169 +0xa4	U+00a4
 127.170 +0xa5	U+fffd
 127.171 +0xa6	U+fffd
 127.172 +0xa7	U+fffd
 127.173 +0xa8	U+fffd
 127.174 +0xa9	U+fffd
 127.175 +0xaa	U+fffd
 127.176 +0xab	U+fffd
 127.177 +0xac	U+060c
 127.178 +0xad	U+00ad
 127.179 +0xae	U+fffd
 127.180 +0xaf	U+fffd
 127.181 +0xb0	U+fffd
 127.182 +0xb1	U+fffd
 127.183 +0xb2	U+fffd
 127.184 +0xb3	U+fffd
 127.185 +0xb4	U+fffd
 127.186 +0xb5	U+fffd
 127.187 +0xb6	U+fffd
 127.188 +0xb7	U+fffd
 127.189 +0xb8	U+fffd
 127.190 +0xb9	U+fffd
 127.191 +0xba	U+fffd
 127.192 +0xbb	U+061b
 127.193 +0xbc	U+fffd
 127.194 +0xbd	U+fffd
 127.195 +0xbe	U+fffd
 127.196 +0xbf	U+061f
 127.197 +0xc0	U+fffd
 127.198 +0xc1	U+0621
 127.199 +0xc2	U+0622
 127.200 +0xc3	U+0623
 127.201 +0xc4	U+0624
 127.202 +0xc5	U+0625
 127.203 +0xc6	U+0626
 127.204 +0xc7	U+0627
 127.205 +0xc8	U+0628
 127.206 +0xc9	U+0629
 127.207 +0xca	U+062a
 127.208 +0xcb	U+062b
 127.209 +0xcc	U+062c
 127.210 +0xcd	U+062d
 127.211 +0xce	U+062e
 127.212 +0xcf	U+062f
 127.213 +0xd0	U+0630
 127.214 +0xd1	U+0631
 127.215 +0xd2	U+0632
 127.216 +0xd3	U+0633
 127.217 +0xd4	U+0634
 127.218 +0xd5	U+0635
 127.219 +0xd6	U+0636
 127.220 +0xd7	U+0637
 127.221 +0xd8	U+0638
 127.222 +0xd9	U+0639
 127.223 +0xda	U+063a
 127.224 +0xdb	U+fffd
 127.225 +0xdc	U+fffd
 127.226 +0xdd	U+fffd
 127.227 +0xde	U+fffd
 127.228 +0xdf	U+fffd
 127.229 +0xe0	U+0640
 127.230 +0xe1	U+0641
 127.231 +0xe2	U+0642
 127.232 +0xe3	U+0643
 127.233 +0xe4	U+0644
 127.234 +0xe5	U+0645
 127.235 +0xe6	U+0646
 127.236 +0xe7	U+0647
 127.237 +0xe8	U+0648
 127.238 +0xe9	U+0649
 127.239 +0xea	U+064a
 127.240 +0xeb	U+064b
 127.241 +0xec	U+064c
 127.242 +0xed	U+064d
 127.243 +0xee	U+064e
 127.244 +0xef	U+064f
 127.245 +0xf0	U+0650
 127.246 +0xf1	U+0651
 127.247 +0xf2	U+0652
 127.248 +0xf3	U+fffd
 127.249 +0xf4	U+fffd
 127.250 +0xf5	U+fffd
 127.251 +0xf6	U+fffd
 127.252 +0xf7	U+fffd
 127.253 +0xf8	U+fffd
 127.254 +0xf9	U+fffd
 127.255 +0xfa	U+fffd
 127.256 +0xfb	U+fffd
 127.257 +0xfc	U+fffd
 127.258 +0xfd	U+fffd
 127.259 +0xfe	U+fffd
 127.260 +0xff	U+fffd
   128.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   128.2 +++ b/make/tools/CharsetMapping/ISO_8859_7.map	Tue Jan 20 09:42:07 2009 -0800
   128.3 @@ -0,0 +1,257 @@
   128.4 +#Generated from ISO_8859_7.java
   128.5 +0x00	U+0000
   128.6 +0x01	U+0001
   128.7 +0x02	U+0002
   128.8 +0x03	U+0003
   128.9 +0x04	U+0004
  128.10 +0x05	U+0005
  128.11 +0x06	U+0006
  128.12 +0x07	U+0007
  128.13 +0x08	U+0008
  128.14 +0x09	U+0009
  128.15 +0x0a	U+000a
  128.16 +0x0b	U+000b
  128.17 +0x0c	U+000c
  128.18 +0x0d	U+000d
  128.19 +0x0e	U+000e
  128.20 +0x0f	U+000f
  128.21 +0x10	U+0010
  128.22 +0x11	U+0011
  128.23 +0x12	U+0012
  128.24 +0x13	U+0013
  128.25 +0x14	U+0014
  128.26 +0x15	U+0015
  128.27 +0x16	U+0016
  128.28 +0x17	U+0017
  128.29 +0x18	U+0018
  128.30 +0x19	U+0019
  128.31 +0x1a	U+001a
  128.32 +0x1b	U+001b
  128.33 +0x1c	U+001c
  128.34 +0x1d	U+001d
  128.35 +0x1e	U+001e
  128.36 +0x1f	U+001f
  128.37 +0x20	U+0020
  128.38 +0x21	U+0021
  128.39 +0x22	U+0022
  128.40 +0x23	U+0023
  128.41 +0x24	U+0024
  128.42 +0x25	U+0025
  128.43 +0x26	U+0026
  128.44 +0x27	U+0027
  128.45 +0x28	U+0028
  128.46 +0x29	U+0029
  128.47 +0x2a	U+002a
  128.48 +0x2b	U+002b
  128.49 +0x2c	U+002c
  128.50 +0x2d	U+002d
  128.51 +0x2e	U+002e
  128.52 +0x2f	U+002f
  128.53 +0x30	U+0030
  128.54 +0x31	U+0031
  128.55 +0x32	U+0032
  128.56 +0x33	U+0033
  128.57 +0x34	U+0034
  128.58 +0x35	U+0035
  128.59 +0x36	U+0036
  128.60 +0x37	U+0037
  128.61 +0x38	U+0038
  128.62 +0x39	U+0039
  128.63 +0x3a	U+003a
  128.64 +0x3b	U+003b
  128.65 +0x3c	U+003c
  128.66 +0x3d	U+003d
  128.67 +0x3e	U+003e
  128.68 +0x3f	U+003f
  128.69 +0x40	U+0040
  128.70 +0x41	U+0041
  128.71 +0x42	U+0042
  128.72 +0x43	U+0043
  128.73 +0x44	U+0044
  128.74 +0x45	U+0045
  128.75 +0x46	U+0046
  128.76 +0x47	U+0047
  128.77 +0x48	U+0048
  128.78 +0x49	U+0049
  128.79 +0x4a	U+004a
  128.80 +0x4b	U+004b
  128.81 +0x4c	U+004c
  128.82 +0x4d	U+004d
  128.83 +0x4e	U+004e
  128.84 +0x4f	U+004f
  128.85 +0x50	U+0050
  128.86 +0x51	U+0051
  128.87 +0x52	U+0052
  128.88 +0x53	U+0053
  128.89 +0x54	U+0054
  128.90 +0x55	U+0055
  128.91 +0x56	U+0056
  128.92 +0x57	U+0057
  128.93 +0x58	U+0058
  128.94 +0x59	U+0059
  128.95 +0x5a	U+005a
  128.96 +0x5b	U+005b
  128.97 +0x5c	U+005c
  128.98 +0x5d	U+005d
  128.99 +0x5e	U+005e
 128.100 +0x5f	U+005f
 128.101 +0x60	U+0060
 128.102 +0x61	U+0061
 128.103 +0x62	U+0062
 128.104 +0x63	U+0063
 128.105 +0x64	U+0064
 128.106 +0x65	U+0065
 128.107 +0x66	U+0066
 128.108 +0x67	U+0067
 128.109 +0x68	U+0068
 128.110 +0x69	U+0069
 128.111 +0x6a	U+006a
 128.112 +0x6b	U+006b
 128.113 +0x6c	U+006c
 128.114 +0x6d	U+006d
 128.115 +0x6e	U+006e
 128.116 +0x6f	U+006f
 128.117 +0x70	U+0070
 128.118 +0x71	U+0071
 128.119 +0x72	U+0072
 128.120 +0x73	U+0073
 128.121 +0x74	U+0074
 128.122 +0x75	U+0075
 128.123 +0x76	U+0076
 128.124 +0x77	U+0077
 128.125 +0x78	U+0078
 128.126 +0x79	U+0079
 128.127 +0x7a	U+007a
 128.128 +0x7b	U+007b
 128.129 +0x7c	U+007c
 128.130 +0x7d	U+007d
 128.131 +0x7e	U+007e
 128.132 +0x7f	U+007f
 128.133 +0x80	U+0080
 128.134 +0x81	U+0081
 128.135 +0x82	U+0082
 128.136 +0x83	U+0083
 128.137 +0x84	U+0084
 128.138 +0x85	U+0085
 128.139 +0x86	U+0086
 128.140 +0x87	U+0087
 128.141 +0x88	U+0088
 128.142 +0x89	U+0089
 128.143 +0x8a	U+008a
 128.144 +0x8b	U+008b
 128.145 +0x8c	U+008c
 128.146 +0x8d	U+008d
 128.147 +0x8e	U+008e
 128.148 +0x8f	U+008f
 128.149 +0x90	U+0090
 128.150 +0x91	U+0091
 128.151 +0x92	U+0092
 128.152 +0x93	U+0093
 128.153 +0x94	U+0094
 128.154 +0x95	U+0095
 128.155 +0x96	U+0096
 128.156 +0x97	U+0097
 128.157 +0x98	U+0098
 128.158 +0x99	U+0099
 128.159 +0x9a	U+009a
 128.160 +0x9b	U+009b
 128.161 +0x9c	U+009c
 128.162 +0x9d	U+009d
 128.163 +0x9e	U+009e
 128.164 +0x9f	U+009f
 128.165 +0xa0	U+00a0
 128.166 +0xa1	U+2018
 128.167 +0xa2	U+2019
 128.168 +0xa3	U+00a3
 128.169 +0xa4	U+20ac
 128.170 +0xa5	U+20af
 128.171 +0xa6	U+00a6
 128.172 +0xa7	U+00a7
 128.173 +0xa8	U+00a8
 128.174 +0xa9	U+00a9
 128.175 +0xaa	U+037a
 128.176 +0xab	U+00ab
 128.177 +0xac	U+00ac
 128.178 +0xad	U+00ad
 128.179 +0xae	U+fffd
 128.180 +0xaf	U+2015
 128.181 +0xb0	U+00b0
 128.182 +0xb1	U+00b1
 128.183 +0xb2	U+00b2
 128.184 +0xb3	U+00b3
 128.185 +0xb4	U+0384
 128.186 +0xb5	U+0385
 128.187 +0xb6	U+0386
 128.188 +0xb7	U+00b7
 128.189 +0xb8	U+0388
 128.190 +0xb9	U+0389
 128.191 +0xba	U+038a
 128.192 +0xbb	U+00bb
 128.193 +0xbc	U+038c
 128.194 +0xbd	U+00bd
 128.195 +0xbe	U+038e
 128.196 +0xbf	U+038f
 128.197 +0xc0	U+0390
 128.198 +0xc1	U+0391
 128.199 +0xc2	U+0392
 128.200 +0xc3	U+0393
 128.201 +0xc4	U+0394
 128.202 +0xc5	U+0395
 128.203 +0xc6	U+0396
 128.204 +0xc7	U+0397
 128.205 +0xc8	U+0398
 128.206 +0xc9	U+0399
 128.207 +0xca	U+039a
 128.208 +0xcb	U+039b
 128.209 +0xcc	U+039c
 128.210 +0xcd	U+039d
 128.211 +0xce	U+039e
 128.212 +0xcf	U+039f
 128.213 +0xd0	U+03a0
 128.214 +0xd1	U+03a1
 128.215 +0xd2	U+fffd
 128.216 +0xd3	U+03a3
 128.217 +0xd4	U+03a4
 128.218 +0xd5	U+03a5
 128.219 +0xd6	U+03a6
 128.220 +0xd7	U+03a7
 128.221 +0xd8	U+03a8
 128.222 +0xd9	U+03a9
 128.223 +0xda	U+03aa
 128.224 +0xdb	U+03ab
 128.225 +0xdc	U+03ac
 128.226 +0xdd	U+03ad
 128.227 +0xde	U+03ae
 128.228 +0xdf	U+03af
 128.229 +0xe0	U+03b0
 128.230 +0xe1	U+03b1
 128.231 +0xe2	U+03b2
 128.232 +0xe3	U+03b3
 128.233 +0xe4	U+03b4
 128.234 +0xe5	U+03b5
 128.235 +0xe6	U+03b6
 128.236 +0xe7	U+03b7
 128.237 +0xe8	U+03b8
 128.238 +0xe9	U+03b9
 128.239 +0xea	U+03ba
 128.240 +0xeb	U+03bb
 128.241 +0xec	U+03bc
 128.242 +0xed	U+03bd
 128.243 +0xee	U+03be
 128.244 +0xef	U+03bf
 128.245 +0xf0	U+03c0
 128.246 +0xf1	U+03c1
 128.247 +0xf2	U+03c2
 128.248 +0xf3	U+03c3
 128.249 +0xf4	U+03c4
 128.250 +0xf5	U+03c5
 128.251 +0xf6	U+03c6
 128.252 +0xf7	U+03c7
 128.253 +0xf8	U+03c8
 128.254 +0xf9	U+03c9
 128.255 +0xfa	U+03ca
 128.256 +0xfb	U+03cb
 128.257 +0xfc	U+03cc
 128.258 +0xfd	U+03cd
 128.259 +0xfe	U+03ce
 128.260 +0xff	U+fffd
   129.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   129.2 +++ b/make/tools/CharsetMapping/ISO_8859_8.map	Tue Jan 20 09:42:07 2009 -0800
   129.3 @@ -0,0 +1,257 @@
   129.4 +#Generated from ISO_8859_8.java
   129.5 +0x00	U+0000
   129.6 +0x01	U+0001
   129.7 +0x02	U+0002
   129.8 +0x03	U+0003
   129.9 +0x04	U+0004
  129.10 +0x05	U+0005
  129.11 +0x06	U+0006
  129.12 +0x07	U+0007
  129.13 +0x08	U+0008
  129.14 +0x09	U+0009
  129.15 +0x0a	U+000a
  129.16 +0x0b	U+000b
  129.17 +0x0c	U+000c
  129.18 +0x0d	U+000d
  129.19 +0x0e	U+000e
  129.20 +0x0f	U+000f
  129.21 +0x10	U+0010
  129.22 +0x11	U+0011
  129.23 +0x12	U+0012
  129.24 +0x13	U+0013
  129.25 +0x14	U+0014
  129.26 +0x15	U+0015
  129.27 +0x16	U+0016
  129.28 +0x17	U+0017
  129.29 +0x18	U+0018
  129.30 +0x19	U+0019
  129.31 +0x1a	U+001a
  129.32 +0x1b	U+001b
  129.33 +0x1c	U+001c
  129.34 +0x1d	U+001d
  129.35 +0x1e	U+001e
  129.36 +0x1f	U+001f
  129.37 +0x20	U+0020
  129.38 +0x21	U+0021
  129.39 +0x22	U+0022
  129.40 +0x23	U+0023
  129.41 +0x24	U+0024
  129.42 +0x25	U+0025
  129.43 +0x26	U+0026
  129.44 +0x27	U+0027
  129.45 +0x28	U+0028
  129.46 +0x29	U+0029
  129.47 +0x2a	U+002a
  129.48 +0x2b	U+002b
  129.49 +0x2c	U+002c
  129.50 +0x2d	U+002d
  129.51 +0x2e	U+002e
  129.52 +0x2f	U+002f
  129.53 +0x30	U+0030
  129.54 +0x31	U+0031
  129.55 +0x32	U+0032
  129.56 +0x33	U+0033
  129.57 +0x34	U+0034
  129.58 +0x35	U+0035
  129.59 +0x36	U+0036
  129.60 +0x37	U+0037
  129.61 +0x38	U+0038
  129.62 +0x39	U+0039
  129.63 +0x3a	U+003a
  129.64 +0x3b	U+003b
  129.65 +0x3c	U+003c
  129.66 +0x3d	U+003d
  129.67 +0x3e	U+003e
  129.68 +0x3f	U+003f
  129.69 +0x40	U+0040
  129.70 +0x41	U+0041
  129.71 +0x42	U+0042
  129.72 +0x43	U+0043
  129.73 +0x44	U+0044
  129.74 +0x45	U+0045
  129.75 +0x46	U+0046
  129.76 +0x47	U+0047
  129.77 +0x48	U+0048
  129.78 +0x49	U+0049
  129.79 +0x4a	U+004a
  129.80 +0x4b	U+004b
  129.81 +0x4c	U+004c
  129.82 +0x4d	U+004d
  129.83 +0x4e	U+004e
  129.84 +0x4f	U+004f
  129.85 +0x50	U+0050
  129.86 +0x51	U+0051
  129.87 +0x52	U+0052
  129.88 +0x53	U+0053
  129.89 +0x54	U+0054
  129.90 +0x55	U+0055
  129.91 +0x56	U+0056
  129.92 +0x57	U+0057
  129.93 +0x58	U+0058
  129.94 +0x59	U+0059
  129.95 +0x5a	U+005a
  129.96 +0x5b	U+005b
  129.97 +0x5c	U+005c
  129.98 +0x5d	U+005d
  129.99 +0x5e	U+005e
 129.100 +0x5f	U+005f
 129.101 +0x60	U+0060
 129.102 +0x61	U+0061
 129.103 +0x62	U+0062
 129.104 +0x63	U+0063
 129.105 +0x64	U+0064
 129.106 +0x65	U+0065
 129.107 +0x66	U+0066
 129.108 +0x67	U+0067
 129.109 +0x68	U+0068
 129.110 +0x69	U+0069
 129.111 +0x6a	U+006a
 129.112 +0x6b	U+006b
 129.113 +0x6c	U+006c
 129.114 +0x6d	U+006d
 129.115 +0x6e	U+006e
 129.116 +0x6f	U+006f
 129.117 +0x70	U+0070
 129.118 +0x71	U+0071
 129.119 +0x72	U+0072
 129.120 +0x73	U+0073
 129.121 +0x74	U+0074
 129.122 +0x75	U+0075
 129.123 +0x76	U+0076
 129.124 +0x77	U+0077
 129.125 +0x78	U+0078
 129.126 +0x79	U+0079
 129.127 +0x7a	U+007a
 129.128 +0x7b	U+007b
 129.129 +0x7c	U+007c
 129.130 +0x7d	U+007d
 129.131 +0x7e	U+007e
 129.132 +0x7f	U+007f
 129.133 +0x80	U+0080
 129.134 +0x81	U+0081
 129.135 +0x82	U+0082
 129.136 +0x83	U+0083
 129.137 +0x84	U+0084
 129.138 +0x85	U+0085
 129.139 +0x86	U+0086
 129.140 +0x87	U+0087
 129.141 +0x88	U+0088
 129.142 +0x89	U+0089
 129.143 +0x8a	U+008a
 129.144 +0x8b	U+008b
 129.145 +0x8c	U+008c
 129.146 +0x8d	U+008d
 129.147 +0x8e	U+008e
 129.148 +0x8f	U+008f
 129.149 +0x90	U+0090
 129.150 +0x91	U+0091
 129.151 +0x92	U+0092
 129.152 +0x93	U+0093
 129.153 +0x94	U+0094
 129.154 +0x95	U+0095
 129.155 +0x96	U+0096
 129.156 +0x97	U+0097
 129.157 +0x98	U+0098
 129.158 +0x99	U+0099
 129.159 +0x9a	U+009a
 129.160 +0x9b	U+009b
 129.161 +0x9c	U+009c
 129.162 +0x9d	U+009d
 129.163 +0x9e	U+009e
 129.164 +0x9f	U+009f
 129.165 +0xa0	U+00a0
 129.166 +0xa1	U+fffd
 129.167 +0xa2	U+00a2
 129.168 +0xa3	U+00a3
 129.169 +0xa4	U+00a4
 129.170 +0xa5	U+00a5
 129.171 +0xa6	U+00a6
 129.172 +0xa7	U+00a7
 129.173 +0xa8	U+00a8
 129.174 +0xa9	U+00a9
 129.175 +0xaa	U+00d7
 129.176 +0xab	U+00ab
 129.177 +0xac	U+00ac
 129.178 +0xad	U+00ad
 129.179 +0xae	U+00ae
 129.180 +0xaf	U+00af
 129.181 +0xb0	U+00b0
 129.182 +0xb1	U+00b1
 129.183 +0xb2	U+00b2
 129.184 +0xb3	U+00b3
 129.185 +0xb4	U+00b4
 129.186 +0xb5	U+00b5
 129.187 +0xb6	U+00b6
 129.188 +0xb7	U+00b7
 129.189 +0xb8	U+00b8
 129.190 +0xb9	U+00b9
 129.191 +0xba	U+00f7
 129.192 +0xbb	U+00bb
 129.193 +0xbc	U+00bc
 129.194 +0xbd	U+00bd
 129.195 +0xbe	U+00be
 129.196 +0xbf	U+fffd
 129.197 +0xc0	U+fffd
 129.198 +0xc1	U+fffd
 129.199 +0xc2	U+fffd
 129.200 +0xc3	U+fffd
 129.201 +0xc4	U+fffd
 129.202 +0xc5	U+fffd
 129.203 +0xc6	U+fffd
 129.204 +0xc7	U+fffd
 129.205 +0xc8	U+fffd
 129.206 +0xc9	U+fffd
 129.207 +0xca	U+fffd
 129.208 +0xcb	U+fffd
 129.209 +0xcc	U+fffd
 129.210 +0xcd	U+fffd
 129.211 +0xce	U+fffd
 129.212 +0xcf	U+fffd
 129.213 +0xd0	U+fffd
 129.214 +0xd1	U+fffd
 129.215 +0xd2	U+fffd
 129.216 +0xd3	U+fffd
 129.217 +0xd4	U+fffd
 129.218 +0xd5	U+fffd
 129.219 +0xd6	U+fffd
 129.220 +0xd7	U+fffd
 129.221 +0xd8	U+fffd
 129.222 +0xd9	U+fffd
 129.223 +0xda	U+fffd
 129.224 +0xdb	U+fffd
 129.225 +0xdc	U+fffd
 129.226 +0xdd	U+fffd
 129.227 +0xde	U+fffd
 129.228 +0xdf	U+2017
 129.229 +0xe0	U+05d0
 129.230 +0xe1	U+05d1
 129.231 +0xe2	U+05d2
 129.232 +0xe3	U+05d3
 129.233 +0xe4	U+05d4
 129.234 +0xe5	U+05d5
 129.235 +0xe6	U+05d6
 129.236 +0xe7	U+05d7
 129.237 +0xe8	U+05d8
 129.238 +0xe9	U+05d9
 129.239 +0xea	U+05da
 129.240 +0xeb	U+05db
 129.241 +0xec	U+05dc
 129.242 +0xed	U+05dd
 129.243 +0xee	U+05de
 129.244 +0xef	U+05df
 129.245 +0xf0	U+05e0
 129.246 +0xf1	U+05e1
 129.247 +0xf2	U+05e2
 129.248 +0xf3	U+05e3
 129.249 +0xf4	U+05e4
 129.250 +0xf5	U+05e5
 129.251 +0xf6	U+05e6
 129.252 +0xf7	U+05e7
 129.253 +0xf8	U+05e8
 129.254 +0xf9	U+05e9
 129.255 +0xfa	U+05ea
 129.256 +0xfb	U+fffd
 129.257 +0xfc	U+fffd
 129.258 +0xfd	U+200e
 129.259 +0xfe	U+200f
 129.260 +0xff	U+fffd
   130.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   130.2 +++ b/make/tools/CharsetMapping/ISO_8859_9.map	Tue Jan 20 09:42:07 2009 -0800
   130.3 @@ -0,0 +1,257 @@
   130.4 +#Generated from ISO_8859_9.java
   130.5 +0x00	U+0000
   130.6 +0x01	U+0001
   130.7 +0x02	U+0002
   130.8 +0x03	U+0003
   130.9 +0x04	U+0004
  130.10 +0x05	U+0005
  130.11 +0x06	U+0006
  130.12 +0x07	U+0007
  130.13 +0x08	U+0008
  130.14 +0x09	U+0009
  130.15 +0x0a	U+000a
  130.16 +0x0b	U+000b
  130.17 +0x0c	U+000c
  130.18 +0x0d	U+000d
  130.19 +0x0e	U+000e
  130.20 +0x0f	U+000f
  130.21 +0x10	U+0010
  130.22 +0x11	U+0011
  130.23 +0x12	U+0012
  130.24 +0x13	U+0013
  130.25 +0x14	U+0014
  130.26 +0x15	U+0015
  130.27 +0x16	U+0016
  130.28 +0x17	U+0017
  130.29 +0x18	U+0018
  130.30 +0x19	U+0019
  130.31 +0x1a	U+001a
  130.32 +0x1b	U+001b
  130.33 +0x1c	U+001c
  130.34 +0x1d	U+001d
  130.35 +0x1e	U+001e
  130.36 +0x1f	U+001f
  130.37 +0x20	U+0020
  130.38 +0x21	U+0021
  130.39 +0x22	U+0022
  130.40 +0x23	U+0023
  130.41 +0x24	U+0024
  130.42 +0x25	U+0025
  130.43 +0x26	U+0026
  130.44 +0x27	U+0027
  130.45 +0x28	U+0028
  130.46 +0x29	U+0029
  130.47 +0x2a	U+002a
  130.48 +0x2b	U+002b
  130.49 +0x2c	U+002c
  130.50 +0x2d	U+002d
  130.51 +0x2e	U+002e
  130.52 +0x2f	U+002f
  130.53 +0x30	U+0030
  130.54 +0x31	U+0031
  130.55 +0x32	U+0032
  130.56 +0x33	U+0033
  130.57 +0x34	U+0034
  130.58 +0x35	U+0035
  130.59 +0x36	U+0036
  130.60 +0x37	U+0037
  130.61 +0x38	U+0038
  130.62 +0x39	U+0039
  130.63 +0x3a	U+003a
  130.64 +0x3b	U+003b
  130.65 +0x3c	U+003c
  130.66 +0x3d	U+003d
  130.67 +0x3e	U+003e
  130.68 +0x3f	U+003f
  130.69 +0x40	U+0040
  130.70 +0x41	U+0041
  130.71 +0x42	U+0042
  130.72 +0x43	U+0043
  130.73 +0x44	U+0044
  130.74 +0x45	U+0045
  130.75 +0x46	U+0046
  130.76 +0x47	U+0047
  130.77 +0x48	U+0048
  130.78 +0x49	U+0049
  130.79 +0x4a	U+004a
  130.80 +0x4b	U+004b
  130.81 +0x4c	U+004c
  130.82 +0x4d	U+004d
  130.83 +0x4e	U+004e
  130.84 +0x4f	U+004f
  130.85 +0x50	U+0050
  130.86 +0x51	U+0051
  130.87 +0x52	U+0052
  130.88 +0x53	U+0053
  130.89 +0x54	U+0054
  130.90 +0x55	U+0055
  130.91 +0x56	U+0056
  130.92 +0x57	U+0057
  130.93 +0x58	U+0058
  130.94 +0x59	U+0059
  130.95 +0x5a	U+005a
  130.96 +0x5b	U+005b
  130.97 +0x5c	U+005c
  130.98 +0x5d	U+005d
  130.99 +0x5e	U+005e
 130.100 +0x5f	U+005f
 130.101 +0x60	U+0060
 130.102 +0x61	U+0061
 130.103 +0x62	U+0062
 130.104 +0x63	U+0063
 130.105 +0x64	U+0064
 130.106 +0x65	U+0065
 130.107 +0x66	U+0066
 130.108 +0x67	U+0067
 130.109 +0x68	U+0068
 130.110 +0x69	U+0069
 130.111 +0x6a	U+006a
 130.112 +0x6b	U+006b
 130.113 +0x6c	U+006c
 130.114 +0x6d	U+006d
 130.115 +0x6e	U+006e
 130.116 +0x6f	U+006f
 130.117 +0x70	U+0070
 130.118 +0x71	U+0071
 130.119 +0x72	U+0072
 130.120 +0x73	U+0073
 130.121 +0x74	U+0074
 130.122 +0x75	U+0075
 130.123 +0x76	U+0076
 130.124 +0x77	U+0077
 130.125 +0x78	U+0078
 130.126 +0x79	U+0079
 130.127 +0x7a	U+007a
 130.128 +0x7b	U+007b
 130.129 +0x7c	U+007c
 130.130 +0x7d	U+007d
 130.131 +0x7e	U+007e
 130.132 +0x7f	U+007f
 130.133 +0x80	U+0080
 130.134 +0x81	U+0081
 130.135 +0x82	U+0082
 130.136 +0x83	U+0083
 130.137 +0x84	U+0084
 130.138 +0x85	U+0085
 130.139 +0x86	U+0086
 130.140 +0x87	U+0087
 130.141 +0x88	U+0088
 130.142 +0x89	U+0089
 130.143 +0x8a	U+008a
 130.144 +0x8b	U+008b
 130.145 +0x8c	U+008c
 130.146 +0x8d	U+008d
 130.147 +0x8e	U+008e
 130.148 +0x8f	U+008f
 130.149 +0x90	U+0090
 130.150 +0x91	U+0091
 130.151 +0x92	U+0092
 130.152 +0x93	U+0093
 130.153 +0x94	U+0094
 130.154 +0x95	U+0095
 130.155 +0x96	U+0096
 130.156 +0x97	U+0097
 130.157 +0x98	U+0098
 130.158 +0x99	U+0099
 130.159 +0x9a	U+009a
 130.160 +0x9b	U+009b
 130.161 +0x9c	U+009c
 130.162 +0x9d	U+009d
 130.163 +0x9e	U+009e
 130.164 +0x9f	U+009f
 130.165 +0xa0	U+00a0
 130.166 +0xa1	U+00a1
 130.167 +0xa2	U+00a2
 130.168 +0xa3	U+00a3
 130.169 +0xa4	U+00a4
 130.170 +0xa5	U+00a5
 130.171 +0xa6	U+00a6
 130.172 +0xa7	U+00a7
 130.173 +0xa8	U+00a8
 130.174 +0xa9	U+00a9
 130.175 +0xaa	U+00aa
 130.176 +0xab	U+00ab
 130.177 +0xac	U+00ac
 130.178 +0xad	U+00ad
 130.179 +0xae	U+00ae
 130.180 +0xaf	U+00af
 130.181 +0xb0	U+00b0
 130.182 +0xb1	U+00b1
 130.183 +0xb2	U+00b2
 130.184 +0xb3	U+00b3
 130.185 +0xb4	U+00b4
 130.186 +0xb5	U+00b5
 130.187 +0xb6	U+00b6
 130.188 +0xb7	U+00b7
 130.189 +0xb8	U+00b8
 130.190 +0xb9	U+00b9
 130.191 +0xba	U+00ba
 130.192 +0xbb	U+00bb
 130.193 +0xbc	U+00bc
 130.194 +0xbd	U+00bd
 130.195 +0xbe	U+00be
 130.196 +0xbf	U+00bf
 130.197 +0xc0	U+00c0
 130.198 +0xc1	U+00c1
 130.199 +0xc2	U+00c2
 130.200 +0xc3	U+00c3
 130.201 +0xc4	U+00c4
 130.202 +0xc5	U+00c5
 130.203 +0xc6	U+00c6
 130.204 +0xc7	U+00c7
 130.205 +0xc8	U+00c8
 130.206 +0xc9	U+00c9
 130.207 +0xca	U+00ca
 130.208 +0xcb	U+00cb
 130.209 +0xcc	U+00cc
 130.210 +0xcd	U+00cd
 130.211 +0xce	U+00ce
 130.212 +0xcf	U+00cf
 130.213 +0xd0	U+011e
 130.214 +0xd1	U+00d1
 130.215 +0xd2	U+00d2
 130.216 +0xd3	U+00d3
 130.217 +0xd4	U+00d4
 130.218 +0xd5	U+00d5
 130.219 +0xd6	U+00d6
 130.220 +0xd7	U+00d7
 130.221 +0xd8	U+00d8
 130.222 +0xd9	U+00d9
 130.223 +0xda	U+00da
 130.224 +0xdb	U+00db
 130.225 +0xdc	U+00dc
 130.226 +0xdd	U+0130
 130.227 +0xde	U+015e
 130.228 +0xdf	U+00df
 130.229 +0xe0	U+00e0
 130.230 +0xe1	U+00e1
 130.231 +0xe2	U+00e2
 130.232 +0xe3	U+00e3
 130.233 +0xe4	U+00e4
 130.234 +0xe5	U+00e5
 130.235 +0xe6	U+00e6
 130.236 +0xe7	U+00e7
 130.237 +0xe8	U+00e8
 130.238 +0xe9	U+00e9
 130.239 +0xea	U+00ea
 130.240 +0xeb	U+00eb
 130.241 +0xec	U+00ec
 130.242 +0xed	U+00ed
 130.243 +0xee	U+00ee
 130.244 +0xef	U+00ef
 130.245 +0xf0	U+011f
 130.246 +0xf1	U+00f1
 130.247 +0xf2	U+00f2
 130.248 +0xf3	U+00f3
 130.249 +0xf4	U+00f4
 130.250 +0xf5	U+00f5
 130.251 +0xf6	U+00f6
 130.252 +0xf7	U+00f7
 130.253 +0xf8	U+00f8
 130.254 +0xf9	U+00f9
 130.255 +0xfa	U+00fa
 130.256 +0xfb	U+00fb
 130.257 +0xfc	U+00fc
 130.258 +0xfd	U+0131
 130.259 +0xfe	U+015f
 130.260 +0xff	U+00ff
   131.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   131.2 +++ b/make/tools/CharsetMapping/JIS_X_0201.map	Tue Jan 20 09:42:07 2009 -0800
   131.3 @@ -0,0 +1,257 @@
   131.4 +#Generated from JIS_X_0201.java
   131.5 +0x00	U+0000
   131.6 +0x01	U+0001
   131.7 +0x02	U+0002
   131.8 +0x03	U+0003
   131.9 +0x04	U+0004
  131.10 +0x05	U+0005
  131.11 +0x06	U+0006
  131.12 +0x07	U+0007
  131.13 +0x08	U+0008
  131.14 +0x09	U+0009
  131.15 +0x0a	U+000a
  131.16 +0x0b	U+000b
  131.17 +0x0c	U+000c
  131.18 +0x0d	U+000d
  131.19 +0x0e	U+000e
  131.20 +0x0f	U+000f
  131.21 +0x10	U+0010
  131.22 +0x11	U+0011
  131.23 +0x12	U+0012
  131.24 +0x13	U+0013
  131.25 +0x14	U+0014
  131.26 +0x15	U+0015
  131.27 +0x16	U+0016
  131.28 +0x17	U+0017
  131.29 +0x18	U+0018
  131.30 +0x19	U+0019
  131.31 +0x1a	U+001a
  131.32 +0x1b	U+001b
  131.33 +0x1c	U+001c
  131.34 +0x1d	U+001d
  131.35 +0x1e	U+001e
  131.36 +0x1f	U+001f
  131.37 +0x20	U+0020
  131.38 +0x21	U+0021
  131.39 +0x22	U+0022
  131.40 +0x23	U+0023
  131.41 +0x24	U+0024
  131.42 +0x25	U+0025
  131.43 +0x26	U+0026
  131.44 +0x27	U+0027
  131.45 +0x28	U+0028
  131.46 +0x29	U+0029
  131.47 +0x2a	U+002a
  131.48 +0x2b	U+002b
  131.49 +0x2c	U+002c
  131.50 +0x2d	U+002d
  131.51 +0x2e	U+002e
  131.52 +0x2f	U+002f
  131.53 +0x30	U+0030
  131.54 +0x31	U+0031
  131.55 +0x32	U+0032
  131.56 +0x33	U+0033
  131.57 +0x34	U+0034
  131.58 +0x35	U+0035
  131.59 +0x36	U+0036
  131.60 +0x37	U+0037
  131.61 +0x38	U+0038
  131.62 +0x39	U+0039
  131.63 +0x3a	U+003a
  131.64 +0x3b	U+003b
  131.65 +0x3c	U+003c
  131.66 +0x3d	U+003d
  131.67 +0x3e	U+003e
  131.68 +0x3f	U+003f
  131.69 +0x40	U+0040
  131.70 +0x41	U+0041
  131.71 +0x42	U+0042
  131.72 +0x43	U+0043
  131.73 +0x44	U+0044
  131.74 +0x45	U+0045
  131.75 +0x46	U+0046
  131.76 +0x47	U+0047
  131.77 +0x48	U+0048
  131.78 +0x49	U+0049
  131.79 +0x4a	U+004a
  131.80 +0x4b	U+004b
  131.81 +0x4c	U+004c
  131.82 +0x4d	U+004d
  131.83 +0x4e	U+004e
  131.84 +0x4f	U+004f
  131.85 +0x50	U+0050
  131.86 +0x51	U+0051
  131.87 +0x52	U+0052
  131.88 +0x53	U+0053
  131.89 +0x54	U+0054
  131.90 +0x55	U+0055
  131.91 +0x56	U+0056
  131.92 +0x57	U+0057
  131.93 +0x58	U+0058
  131.94 +0x59	U+0059
  131.95 +0x5a	U+005a
  131.96 +0x5b	U+005b
  131.97 +0x5c	U+005c
  131.98 +0x5d	U+005d
  131.99 +0x5e	U+005e
 131.100 +0x5f	U+005f
 131.101 +0x60	U+0060
 131.102 +0x61	U+0061
 131.103 +0x62	U+0062
 131.104 +0x63	U+0063
 131.105 +0x64	U+0064
 131.106 +0x65	U+0065
 131.107 +0x66	U+0066
 131.108 +0x67	U+0067
 131.109 +0x68	U+0068
 131.110 +0x69	U+0069
 131.111 +0x6a	U+006a
 131.112 +0x6b	U+006b
 131.113 +0x6c	U+006c
 131.114 +0x6d	U+006d
 131.115 +0x6e	U+006e
 131.116 +0x6f	U+006f
 131.117 +0x70	U+0070
 131.118 +0x71	U+0071
 131.119 +0x72	U+0072
 131.120 +0x73	U+0073
 131.121 +0x74	U+0074
 131.122 +0x75	U+0075
 131.123 +0x76	U+0076
 131.124 +0x77	U+0077
 131.125 +0x78	U+0078
 131.126 +0x79	U+0079
 131.127 +0x7a	U+007a
 131.128 +0x7b	U+007b
 131.129 +0x7c	U+007c
 131.130 +0x7d	U+007d
 131.131 +0x7e	U+007e
 131.132 +0x7f	U+007f
 131.133 +0x80	U+fffd
 131.134 +0x81	U+fffd
 131.135 +0x82	U+fffd
 131.136 +0x83	U+fffd
 131.137 +0x84	U+fffd
 131.138 +0x85	U+fffd
 131.139 +0x86	U+fffd
 131.140 +0x87	U+fffd
 131.141 +0x88	U+fffd
 131.142 +0x89	U+fffd
 131.143 +0x8a	U+fffd
 131.144 +0x8b	U+fffd
 131.145 +0x8c	U+fffd
 131.146 +0x8d	U+fffd
 131.147 +0x8e	U+fffd
 131.148 +0x8f	U+fffd
 131.149 +0x90	U+fffd
 131.150 +0x91	U+fffd
 131.151 +0x92	U+fffd
 131.152 +0x93	U+fffd
 131.153 +0x94	U+fffd
 131.154 +0x95	U+fffd
 131.155 +0x96	U+fffd
 131.156 +0x97	U+fffd
 131.157 +0x98	U+fffd
 131.158 +0x99	U+fffd
 131.159 +0x9a	U+fffd
 131.160 +0x9b	U+fffd
 131.161 +0x9c	U+fffd
 131.162 +0x9d	U+fffd
 131.163 +0x9e	U+fffd
 131.164 +0x9f	U+fffd
 131.165 +0xa0	U+fffd
 131.166 +0xa1	U+ff61
 131.167 +0xa2	U+ff62
 131.168 +0xa3	U+ff63
 131.169 +0xa4	U+ff64
 131.170 +0xa5	U+ff65
 131.171 +0xa6	U+ff66
 131.172 +0xa7	U+ff67
 131.173 +0xa8	U+ff68
 131.174 +0xa9	U+ff69
 131.175 +0xaa	U+ff6a
 131.176 +0xab	U+ff6b
 131.177 +0xac	U+ff6c
 131.178 +0xad	U+ff6d
 131.179 +0xae	U+ff6e
 131.180 +0xaf	U+ff6f
 131.181 +0xb0	U+ff70
 131.182 +0xb1	U+ff71
 131.183 +0xb2	U+ff72
 131.184 +0xb3	U+ff73
 131.185 +0xb4	U+ff74
 131.186 +0xb5	U+ff75
 131.187 +0xb6	U+ff76
 131.188 +0xb7	U+ff77
 131.189 +0xb8	U+ff78
 131.190 +0xb9	U+ff79
 131.191 +0xba	U+ff7a
 131.192 +0xbb	U+ff7b
 131.193 +0xbc	U+ff7c
 131.194 +0xbd	U+ff7d
 131.195 +0xbe	U+ff7e
 131.196 +0xbf	U+ff7f
 131.197 +0xc0	U+ff80
 131.198 +0xc1	U+ff81
 131.199 +0xc2	U+ff82
 131.200 +0xc3	U+ff83
 131.201 +0xc4	U+ff84
 131.202 +0xc5	U+ff85
 131.203 +0xc6	U+ff86
 131.204 +0xc7	U+ff87
 131.205 +0xc8	U+ff88
 131.206 +0xc9	U+ff89
 131.207 +0xca	U+ff8a
 131.208 +0xcb	U+ff8b
 131.209 +0xcc	U+ff8c
 131.210 +0xcd	U+ff8d
 131.211 +0xce	U+ff8e
 131.212 +0xcf	U+ff8f
 131.213 +0xd0	U+ff90
 131.214 +0xd1	U+ff91
 131.215 +0xd2	U+ff92
 131.216 +0xd3	U+ff93
 131.217 +0xd4	U+ff94
 131.218 +0xd5	U+ff95
 131.219 +0xd6	U+ff96
 131.220 +0xd7	U+ff97
 131.221 +0xd8	U+ff98
 131.222 +0xd9	U+ff99
 131.223 +0xda	U+ff9a
 131.224 +0xdb	U+ff9b
 131.225 +0xdc	U+ff9c
 131.226 +0xdd	U+ff9d
 131.227 +0xde	U+ff9e
 131.228 +0xdf	U+ff9f
 131.229 +0xe0	U+fffd
 131.230 +0xe1	U+fffd
 131.231 +0xe2	U+fffd
 131.232 +0xe3	U+fffd
 131.233 +0xe4	U+fffd
 131.234 +0xe5	U+fffd
 131.235 +0xe6	U+fffd
 131.236 +0xe7	U+fffd
 131.237 +0xe8	U+fffd
 131.238 +0xe9	U+fffd
 131.239 +0xea	U+fffd
 131.240 +0xeb	U+fffd
 131.241 +0xec	U+fffd
 131.242 +0xed	U+fffd
 131.243 +0xee	U+fffd
 131.244 +0xef	U+fffd
 131.245 +0xf0	U+fffd
 131.246 +0xf1	U+fffd
 131.247 +0xf2	U+fffd
 131.248 +0xf3	U+fffd
 131.249 +0xf4	U+fffd
 131.250 +0xf5	U+fffd
 131.251 +0xf6	U+fffd
 131.252 +0xf7	U+fffd
 131.253 +0xf8	U+fffd
 131.254 +0xf9	U+fffd
 131.255 +0xfa	U+fffd
 131.256 +0xfb	U+fffd
 131.257 +0xfc	U+fffd
 131.258 +0xfd	U+fffd
 131.259 +0xfe	U+fffd
 131.260 +0xff	U+fffd
   132.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   132.2 +++ b/make/tools/CharsetMapping/KOI8_R.map	Tue Jan 20 09:42:07 2009 -0800
   132.3 @@ -0,0 +1,257 @@
   132.4 +#Generated from KOI8_R.java
   132.5 +0x00	U+0000
   132.6 +0x01	U+0001
   132.7 +0x02	U+0002
   132.8 +0x03	U+0003
   132.9 +0x04	U+0004
  132.10 +0x05	U+0005
  132.11 +0x06	U+0006
  132.12 +0x07	U+0007
  132.13 +0x08	U+0008
  132.14 +0x09	U+0009
  132.15 +0x0a	U+000a
  132.16 +0x0b	U+000b
  132.17 +0x0c	U+000c
  132.18 +0x0d	U+000d
  132.19 +0x0e	U+000e
  132.20 +0x0f	U+000f
  132.21 +0x10	U+0010
  132.22 +0x11	U+0011
  132.23 +0x12	U+0012
  132.24 +0x13	U+0013
  132.25 +0x14	U+0014
  132.26 +0x15	U+0015
  132.27 +0x16	U+0016
  132.28 +0x17	U+0017
  132.29 +0x18	U+0018
  132.30 +0x19	U+0019
  132.31 +0x1a	U+001a
  132.32 +0x1b	U+001b
  132.33 +0x1c	U+001c
  132.34 +0x1d	U+001d
  132.35 +0x1e	U+001e
  132.36 +0x1f	U+001f
  132.37 +0x20	U+0020
  132.38 +0x21	U+0021
  132.39 +0x22	U+0022
  132.40 +0x23	U+0023
  132.41 +0x24	U+0024
  132.42 +0x25	U+0025
  132.43 +0x26	U+0026
  132.44 +0x27	U+0027
  132.45 +0x28	U+0028
  132.46 +0x29	U+0029
  132.47 +0x2a	U+002a
  132.48 +0x2b	U+002b
  132.49 +0x2c	U+002c
  132.50 +0x2d	U+002d
  132.51 +0x2e	U+002e
  132.52 +0x2f	U+002f
  132.53 +0x30	U+0030
  132.54 +0x31	U+0031
  132.55 +0x32	U+0032
  132.56 +0x33	U+0033
  132.57 +0x34	U+0034
  132.58 +0x35	U+0035
  132.59 +0x36	U+0036
  132.60 +0x37	U+0037
  132.61 +0x38	U+0038
  132.62 +0x39	U+0039
  132.63 +0x3a	U+003a
  132.64 +0x3b	U+003b
  132.65 +0x3c	U+003c
  132.66 +0x3d	U+003d
  132.67 +0x3e	U+003e
  132.68 +0x3f	U+003f
  132.69 +0x40	U+0040
  132.70 +0x41	U+0041
  132.71 +0x42	U+0042
  132.72 +0x43	U+0043
  132.73 +0x44	U+0044
  132.74 +0x45	U+0045
  132.75 +0x46	U+0046
  132.76 +0x47	U+0047
  132.77 +0x48	U+0048
  132.78 +0x49	U+0049
  132.79 +0x4a	U+004a
  132.80 +0x4b	U+004b
  132.81 +0x4c	U+004c
  132.82 +0x4d	U+004d
  132.83 +0x4e	U+004e
  132.84 +0x4f	U+004f
  132.85 +0x50	U+0050
  132.86 +0x51	U+0051
  132.87 +0x52	U+0052
  132.88 +0x53	U+0053
  132.89 +0x54	U+0054
  132.90 +0x55	U+0055
  132.91 +0x56	U+0056
  132.92 +0x57	U+0057
  132.93 +0x58	U+0058
  132.94 +0x59	U+0059
  132.95 +0x5a	U+005a
  132.96 +0x5b	U+005b
  132.97 +0x5c	U+005c
  132.98 +0x5d	U+005d
  132.99 +0x5e	U+005e
 132.100 +0x5f	U+005f
 132.101 +0x60	U+0060
 132.102 +0x61	U+0061
 132.103 +0x62	U+0062
 132.104 +0x63	U+0063
 132.105 +0x64	U+0064
 132.106 +0x65	U+0065
 132.107 +0x66	U+0066
 132.108 +0x67	U+0067
 132.109 +0x68	U+0068
 132.110 +0x69	U+0069
 132.111 +0x6a	U+006a
 132.112 +0x6b	U+006b
 132.113 +0x6c	U+006c
 132.114 +0x6d	U+006d
 132.115 +0x6e	U+006e
 132.116 +0x6f	U+006f
 132.117 +0x70	U+0070
 132.118 +0x71	U+0071
 132.119 +0x72	U+0072
 132.120 +0x73	U+0073
 132.121 +0x74	U+0074
 132.122 +0x75	U+0075
 132.123 +0x76	U+0076
 132.124 +0x77	U+0077
 132.125 +0x78	U+0078
 132.126 +0x79	U+0079
 132.127 +0x7a	U+007a
 132.128 +0x7b	U+007b
 132.129 +0x7c	U+007c
 132.130 +0x7d	U+007d
 132.131 +0x7e	U+007e
 132.132 +0x7f	U+007f
 132.133 +0x80	U+2500
 132.134 +0x81	U+2502
 132.135 +0x82	U+250c
 132.136 +0x83	U+2510
 132.137 +0x84	U+2514
 132.138 +0x85	U+2518
 132.139 +0x86	U+251c
 132.140 +0x87	U+2524
 132.141 +0x88	U+252c
 132.142 +0x89	U+2534
 132.143 +0x8a	U+253c
 132.144 +0x8b	U+2580
 132.145 +0x8c	U+2584
 132.146 +0x8d	U+2588
 132.147 +0x8e	U+258c
 132.148 +0x8f	U+2590
 132.149 +0x90	U+2591
 132.150 +0x91	U+2592
 132.151 +0x92	U+2593
 132.152 +0x93	U+2320
 132.153 +0x94	U+25a0
 132.154 +0x95	U+2219
 132.155 +0x96	U+221a
 132.156 +0x97	U+2248
 132.157 +0x98	U+2264
 132.158 +0x99	U+2265
 132.159 +0x9a	U+00a0
 132.160 +0x9b	U+2321
 132.161 +0x9c	U+00b0
 132.162 +0x9d	U+00b2
 132.163 +0x9e	U+00b7
 132.164 +0x9f	U+00f7
 132.165 +0xa0	U+2550
 132.166 +0xa1	U+2551
 132.167 +0xa2	U+2552
 132.168 +0xa3	U+0451
 132.169 +0xa4	U+2553
 132.170 +0xa5	U+2554
 132.171 +0xa6	U+2555
 132.172 +0xa7	U+2556
 132.173 +0xa8	U+2557
 132.174 +0xa9	U+2558
 132.175 +0xaa	U+2559
 132.176 +0xab	U+255a
 132.177 +0xac	U+255b
 132.178 +0xad	U+255c
 132.179 +0xae	U+255d
 132.180 +0xaf	U+255e
 132.181 +0xb0	U+255f
 132.182 +0xb1	U+2560
 132.183 +0xb2	U+2561
 132.184 +0xb3	U+0401
 132.185 +0xb4	U+2562
 132.186 +0xb5	U+2563
 132.187 +0xb6	U+2564
 132.188 +0xb7	U+2565
 132.189 +0xb8	U+2566
 132.190 +0xb9	U+2567
 132.191 +0xba	U+2568
 132.192 +0xbb	U+2569
 132.193 +0xbc	U+256a
 132.194 +0xbd	U+256b
 132.195 +0xbe	U+256c
 132.196 +0xbf	U+00a9
 132.197 +0xc0	U+044e
 132.198 +0xc1	U+0430
 132.199 +0xc2	U+0431
 132.200 +0xc3	U+0446
 132.201 +0xc4	U+0434
 132.202 +0xc5	U+0435
 132.203 +0xc6	U+0444
 132.204 +0xc7	U+0433
 132.205 +0xc8	U+0445
 132.206 +0xc9	U+0438
 132.207 +0xca	U+0439
 132.208 +0xcb	U+043a
 132.209 +0xcc	U+043b
 132.210 +0xcd	U+043c
 132.211 +0xce	U+043d
 132.212 +0xcf	U+043e
 132.213 +0xd0	U+043f
 132.214 +0xd1	U+044f
 132.215 +0xd2	U+0440
 132.216 +0xd3	U+0441
 132.217 +0xd4	U+0442
 132.218 +0xd5	U+0443
 132.219 +0xd6	U+0436
 132.220 +0xd7	U+0432
 132.221 +0xd8	U+044c
 132.222 +0xd9	U+044b
 132.223 +0xda	U+0437
 132.224 +0xdb	U+0448
 132.225 +0xdc	U+044d
 132.226 +0xdd	U+0449
 132.227 +0xde	U+0447
 132.228 +0xdf	U+044a
 132.229 +0xe0	U+042e
 132.230 +0xe1	U+0410
 132.231 +0xe2	U+0411
 132.232 +0xe3	U+0426
 132.233 +0xe4	U+0414
 132.234 +0xe5	U+0415
 132.235 +0xe6	U+0424
 132.236 +0xe7	U+0413
 132.237 +0xe8	U+0425
 132.238 +0xe9	U+0418
 132.239 +0xea	U+0419
 132.240 +0xeb	U+041a
 132.241 +0xec	U+041b
 132.242 +0xed	U+041c
 132.243 +0xee	U+041d
 132.244 +0xef	U+041e
 132.245 +0xf0	U+041f
 132.246 +0xf1	U+042f
 132.247 +0xf2	U+0420
 132.248 +0xf3	U+0421
 132.249 +0xf4	U+0422
 132.250 +0xf5	U+0423
 132.251 +0xf6	U+0416
 132.252 +0xf7	U+0412
 132.253 +0xf8	U+042c
 132.254 +0xf9	U+042b
 132.255 +0xfa	U+0417
 132.256 +0xfb	U+0428
 132.257 +0xfc	U+042d
 132.258 +0xfd	U+0429
 132.259 +0xfe	U+0427
 132.260 +0xff	U+042a
   133.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   133.2 +++ b/make/tools/CharsetMapping/KOI8_U.map	Tue Jan 20 09:42:07 2009 -0800
   133.3 @@ -0,0 +1,257 @@
   133.4 +#Generated from KOI8_U.java
   133.5 +0x00	U+0000
   133.6 +0x01	U+0001
   133.7 +0x02	U+0002
   133.8 +0x03	U+0003
   133.9 +0x04	U+0004
  133.10 +0x05	U+0005
  133.11 +0x06	U+0006
  133.12 +0x07	U+0007
  133.13 +0x08	U+0008
  133.14 +0x09	U+0009
  133.15 +0x0a	U+000a
  133.16 +0x0b	U+000b
  133.17 +0x0c	U+000c
  133.18 +0x0d	U+000d
  133.19 +0x0e	U+000e
  133.20 +0x0f	U+000f
  133.21 +0x10	U+0010
  133.22 +0x11	U+0011
  133.23 +0x12	U+0012
  133.24 +0x13	U+0013
  133.25 +0x14	U+0014
  133.26 +0x15	U+0015
  133.27 +0x16	U+0016
  133.28 +0x17	U+0017
  133.29 +0x18	U+0018
  133.30 +0x19	U+0019
  133.31 +0x1a	U+001a
  133.32 +0x1b	U+001b
  133.33 +0x1c	U+001c
  133.34 +0x1d	U+001d
  133.35 +0x1e	U+001e
  133.36 +0x1f	U+001f
  133.37 +0x20	U+0020
  133.38 +0x21	U+0021
  133.39 +0x22	U+0022
  133.40 +0x23	U+0023
  133.41 +0x24	U+0024
  133.42 +0x25	U+0025
  133.43 +0x26	U+0026
  133.44 +0x27	U+0027
  133.45 +0x28	U+0028
  133.46 +0x29	U+0029
  133.47 +0x2a	U+002a
  133.48 +0x2b	U+002b
  133.49 +0x2c	U+002c
  133.50 +0x2d	U+002d
  133.51 +0x2e	U+002e
  133.52 +0x2f	U+002f
  133.53 +0x30	U+0030
  133.54 +0x31	U+0031
  133.55 +0x32	U+0032
  133.56 +0x33	U+0033
  133.57 +0x34	U+0034
  133.58 +0x35	U+0035
  133.59 +0x36	U+0036
  133.60 +0x37	U+0037
  133.61 +0x38	U+0038
  133.62 +0x39	U+0039
  133.63 +0x3a	U+003a
  133.64 +0x3b	U+003b
  133.65 +0x3c	U+003c
  133.66 +0x3d	U+003d
  133.67 +0x3e	U+003e
  133.68 +0x3f	U+003f
  133.69 +0x40	U+0040
  133.70 +0x41	U+0041
  133.71 +0x42	U+0042
  133.72 +0x43	U+0043
  133.73 +0x44	U+0044
  133.74 +0x45	U+0045
  133.75 +0x46	U+0046
  133.76 +0x47	U+0047
  133.77 +0x48	U+0048
  133.78 +0x49	U+0049
  133.79 +0x4a	U+004a
  133.80 +0x4b	U+004b
  133.81 +0x4c	U+004c
  133.82 +0x4d	U+004d
  133.83 +0x4e	U+004e
  133.84 +0x4f	U+004f
  133.85 +0x50	U+0050
  133.86 +0x51	U+0051
  133.87 +0x52	U+0052
  133.88 +0x53	U+0053
  133.89 +0x54	U+0054
  133.90 +0x55	U+0055
  133.91 +0x56	U+0056
  133.92 +0x57	U+0057
  133.93 +0x58	U+0058
  133.94 +0x59	U+0059
  133.95 +0x5a	U+005a
  133.96 +0x5b	U+005b
  133.97 +0x5c	U+005c
  133.98 +0x5d	U+005d
  133.99 +0x5e	U+005e
 133.100 +0x5f	U+005f
 133.101 +0x60	U+0060
 133.102 +0x61	U+0061
 133.103 +0x62	U+0062
 133.104 +0x63	U+0063
 133.105 +0x64	U+0064
 133.106 +0x65	U+0065
 133.107 +0x66	U+0066
 133.108 +0x67	U+0067
 133.109 +0x68	U+0068
 133.110 +0x69	U+0069
 133.111 +0x6a	U+006a
 133.112 +0x6b	U+006b
 133.113 +0x6c	U+006c
 133.114 +0x6d	U+006d
 133.115 +0x6e	U+006e
 133.116 +0x6f	U+006f
 133.117 +0x70	U+0070
 133.118 +0x71	U+0071
 133.119 +0x72	U+0072
 133.120 +0x73	U+0073
 133.121 +0x74	U+0074
 133.122 +0x75	U+0075
 133.123 +0x76	U+0076
 133.124 +0x77	U+0077
 133.125 +0x78	U+0078
 133.126 +0x79	U+0079
 133.127 +0x7a	U+007a
 133.128 +0x7b	U+007b
 133.129 +0x7c	U+007c
 133.130 +0x7d	U+007d
 133.131 +0x7e	U+007e
 133.132 +0x7f	U+007f
 133.133 +0x80	U+2500
 133.134 +0x81	U+2502
 133.135 +0x82	U+250c
 133.136 +0x83	U+2510
 133.137 +0x84	U+2514
 133.138 +0x85	U+2518
 133.139 +0x86	U+251c
 133.140 +0x87	U+2524
 133.141 +0x88	U+252c
 133.142 +0x89	U+2534
 133.143 +0x8a	U+253c
 133.144 +0x8b	U+2580
 133.145 +0x8c	U+2584
 133.146 +0x8d	U+2588
 133.147 +0x8e	U+258c
 133.148 +0x8f	U+2590
 133.149 +0x90	U+2591
 133.150 +0x91	U+2592
 133.151 +0x92	U+2593
 133.152 +0x93	U+2320
 133.153 +0x94	U+25a0
 133.154 +0x95	U+2219
 133.155 +0x96	U+221a
 133.156 +0x97	U+2248
 133.157 +0x98	U+2264
 133.158 +0x99	U+2265
 133.159 +0x9a	U+00a0
 133.160 +0x9b	U+2321
 133.161 +0x9c	U+00b0
 133.162 +0x9d	U+00b2
 133.163 +0x9e	U+00b7
 133.164 +0x9f	U+00f7
 133.165 +0xa0	U+2550
 133.166 +0xa1	U+2551
 133.167 +0xa2	U+2552
 133.168 +0xa3	U+0451
 133.169 +0xa4	U+0454
 133.170 +0xa5	U+2554
 133.171 +0xa6	U+0456
 133.172 +0xa7	U+0457
 133.173 +0xa8	U+2557
 133.174 +0xa9	U+2558
 133.175 +0xaa	U+2559
 133.176 +0xab	U+255a
 133.177 +0xac	U+255b
 133.178 +0xad	U+0491
 133.179 +0xae	U+255d
 133.180 +0xaf	U+255e
 133.181 +0xb0	U+255f
 133.182 +0xb1	U+2560
 133.183 +0xb2	U+2561
 133.184 +0xb3	U+0401
 133.185 +0xb4	U+0404
 133.186 +0xb5	U+2563
 133.187 +0xb6	U+0406
 133.188 +0xb7	U+0407
 133.189 +0xb8	U+2566
 133.190 +0xb9	U+2567
 133.191 +0xba	U+2568
 133.192 +0xbb	U+2569
 133.193 +0xbc	U+256a
 133.194 +0xbd	U+0490
 133.195 +0xbe	U+256c
 133.196 +0xbf	U+00a9
 133.197 +0xc0	U+044e
 133.198 +0xc1	U+0430
 133.199 +0xc2	U+0431
 133.200 +0xc3	U+0446
 133.201 +0xc4	U+0434
 133.202 +0xc5	U+0435
 133.203 +0xc6	U+0444
 133.204 +0xc7	U+0433
 133.205 +0xc8	U+0445
 133.206 +0xc9	U+0438
 133.207 +0xca	U+0439
 133.208 +0xcb	U+043a
 133.209 +0xcc	U+043b
 133.210 +0xcd	U+043c
 133.211 +0xce	U+043d
 133.212 +0xcf	U+043e
 133.213 +0xd0	U+043f
 133.214 +0xd1	U+044f
 133.215 +0xd2	U+0440
 133.216 +0xd3	U+0441
 133.217 +0xd4	U+0442
 133.218 +0xd5	U+0443
 133.219 +0xd6	U+0436
 133.220 +0xd7	U+0432
 133.221 +0xd8	U+044c
 133.222 +0xd9	U+044b
 133.223 +0xda	U+0437
 133.224 +0xdb	U+0448
 133.225 +0xdc	U+044d
 133.226 +0xdd	U+0449
 133.227 +0xde	U+0447
 133.228 +0xdf	U+044a
 133.229 +0xe0	U+042e
 133.230 +0xe1	U+0410
 133.231 +0xe2	U+0411
 133.232 +0xe3	U+0426
 133.233 +0xe4	U+0414
 133.234 +0xe5	U+0415
 133.235 +0xe6	U+0424
 133.236 +0xe7	U+0413
 133.237 +0xe8	U+0425
 133.238 +0xe9	U+0418
 133.239 +0xea	U+0419
 133.240 +0xeb	U+041a
 133.241 +0xec	U+041b
 133.242 +0xed	U+041c
 133.243 +0xee	U+041d
 133.244 +0xef	U+041e
 133.245 +0xf0	U+041f
 133.246 +0xf1	U+042f
 133.247 +0xf2	U+0420
 133.248 +0xf3	U+0421
 133.249 +0xf4	U+0422
 133.250 +0xf5	U+0423
 133.251 +0xf6	U+0416
 133.252 +0xf7	U+0412
 133.253 +0xf8	U+042c
 133.254 +0xf9	U+042b
 133.255 +0xfa	U+0417
 133.256 +0xfb	U+0428
 133.257 +0xfc	U+042d
 133.258 +0xfd	U+0429
 133.259 +0xfe	U+0427
 133.260 +0xff	U+042a
   134.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   134.2 +++ b/make/tools/CharsetMapping/MS1250.map	Tue Jan 20 09:42:07 2009 -0800
   134.3 @@ -0,0 +1,257 @@
   134.4 +#Generated from MS1250.java
   134.5 +0x00	U+0000
   134.6 +0x01	U+0001
   134.7 +0x02	U+0002
   134.8 +0x03	U+0003
   134.9 +0x04	U+0004
  134.10 +0x05	U+0005
  134.11 +0x06	U+0006
  134.12 +0x07	U+0007
  134.13 +0x08	U+0008
  134.14 +0x09	U+0009
  134.15 +0x0a	U+000a
  134.16 +0x0b	U+000b
  134.17 +0x0c	U+000c
  134.18 +0x0d	U+000d
  134.19 +0x0e	U+000e
  134.20 +0x0f	U+000f
  134.21 +0x10	U+0010
  134.22 +0x11	U+0011
  134.23 +0x12	U+0012
  134.24 +0x13	U+0013
  134.25 +0x14	U+0014
  134.26 +0x15	U+0015
  134.27 +0x16	U+0016
  134.28 +0x17	U+0017
  134.29 +0x18	U+0018
  134.30 +0x19	U+0019
  134.31 +0x1a	U+001a
  134.32 +0x1b	U+001b
  134.33 +0x1c	U+001c
  134.34 +0x1d	U+001d
  134.35 +0x1e	U+001e
  134.36 +0x1f	U+001f
  134.37 +0x20	U+0020
  134.38 +0x21	U+0021
  134.39 +0x22	U+0022
  134.40 +0x23	U+0023
  134.41 +0x24	U+0024
  134.42 +0x25	U+0025
  134.43 +0x26	U+0026
  134.44 +0x27	U+0027
  134.45 +0x28	U+0028
  134.46 +0x29	U+0029
  134.47 +0x2a	U+002a
  134.48 +0x2b	U+002b
  134.49 +0x2c	U+002c
  134.50 +0x2d	U+002d
  134.51 +0x2e	U+002e
  134.52 +0x2f	U+002f
  134.53 +0x30	U+0030
  134.54 +0x31	U+0031
  134.55 +0x32	U+0032
  134.56 +0x33	U+0033
  134.57 +0x34	U+0034
  134.58 +0x35	U+0035
  134.59 +0x36	U+0036
  134.60 +0x37	U+0037
  134.61 +0x38	U+0038
  134.62 +0x39	U+0039
  134.63 +0x3a	U+003a
  134.64 +0x3b	U+003b
  134.65 +0x3c	U+003c
  134.66 +0x3d	U+003d
  134.67 +0x3e	U+003e
  134.68 +0x3f	U+003f
  134.69 +0x40	U+0040
  134.70 +0x41	U+0041
  134.71 +0x42	U+0042
  134.72 +0x43	U+0043
  134.73 +0x44	U+0044
  134.74 +0x45	U+0045
  134.75 +0x46	U+0046
  134.76 +0x47	U+0047
  134.77 +0x48	U+0048
  134.78 +0x49	U+0049
  134.79 +0x4a	U+004a
  134.80 +0x4b	U+004b
  134.81 +0x4c	U+004c
  134.82 +0x4d	U+004d
  134.83 +0x4e	U+004e
  134.84 +0x4f	U+004f
  134.85 +0x50	U+0050
  134.86 +0x51	U+0051
  134.87 +0x52	U+0052
  134.88 +0x53	U+0053
  134.89 +0x54	U+0054
  134.90 +0x55	U+0055
  134.91 +0x56	U+0056
  134.92 +0x57	U+0057
  134.93 +0x58	U+0058
  134.94 +0x59	U+0059
  134.95 +0x5a	U+005a
  134.96 +0x5b	U+005b
  134.97 +0x5c	U+005c
  134.98 +0x5d	U+005d
  134.99 +0x5e	U+005e
 134.100 +0x5f	U+005f
 134.101 +0x60	U+0060
 134.102 +0x61	U+0061
 134.103 +0x62	U+0062
 134.104 +0x63	U+0063
 134.105 +0x64	U+0064
 134.106 +0x65	U+0065
 134.107 +0x66	U+0066
 134.108 +0x67	U+0067
 134.109 +0x68	U+0068
 134.110 +0x69	U+0069
 134.111 +0x6a	U+006a
 134.112 +0x6b	U+006b
 134.113 +0x6c	U+006c
 134.114 +0x6d	U+006d
 134.115 +0x6e	U+006e
 134.116 +0x6f	U+006f
 134.117 +0x70	U+0070
 134.118 +0x71	U+0071
 134.119 +0x72	U+0072
 134.120 +0x73	U+0073
 134.121 +0x74	U+0074
 134.122 +0x75	U+0075
 134.123 +0x76	U+0076
 134.124 +0x77	U+0077
 134.125 +0x78	U+0078
 134.126 +0x79	U+0079
 134.127 +0x7a	U+007a
 134.128 +0x7b	U+007b
 134.129 +0x7c	U+007c
 134.130 +0x7d	U+007d
 134.131 +0x7e	U+007e
 134.132 +0x7f	U+007f
 134.133 +0x80	U+20ac
 134.134 +0x81	U+fffd
 134.135 +0x82	U+201a
 134.136 +0x83	U+fffd
 134.137 +0x84	U+201e
 134.138 +0x85	U+2026
 134.139 +0x86	U+2020
 134.140 +0x87	U+2021
 134.141 +0x88	U+fffd
 134.142 +0x89	U+2030
 134.143 +0x8a	U+0160
 134.144 +0x8b	U+2039
 134.145 +0x8c	U+015a
 134.146 +0x8d	U+0164
 134.147 +0x8e	U+017d
 134.148 +0x8f	U+0179
 134.149 +0x90	U+fffd
 134.150 +0x91	U+2018
 134.151 +0x92	U+2019
 134.152 +0x93	U+201c
 134.153 +0x94	U+201d
 134.154 +0x95	U+2022
 134.155 +0x96	U+2013
 134.156 +0x97	U+2014
 134.157 +0x98	U+fffd
 134.158 +0x99	U+2122
 134.159 +0x9a	U+0161
 134.160 +0x9b	U+203a
 134.161 +0x9c	U+015b
 134.162 +0x9d	U+0165
 134.163 +0x9e	U+017e
 134.164 +0x9f	U+017a
 134.165 +0xa0	U+00a0
 134.166 +0xa1	U+02c7
 134.167 +0xa2	U+02d8
 134.168 +0xa3	U+0141
 134.169 +0xa4	U+00a4
 134.170 +0xa5	U+0104
 134.171 +0xa6	U+00a6
 134.172 +0xa7	U+00a7
 134.173 +0xa8	U+00a8
 134.174 +0xa9	U+00a9
 134.175 +0xaa	U+015e
 134.176 +0xab	U+00ab
 134.177 +0xac	U+00ac
 134.178 +0xad	U+00ad
 134.179 +0xae	U+00ae
 134.180 +0xaf	U+017b
 134.181 +0xb0	U+00b0
 134.182 +0xb1	U+00b1
 134.183 +0xb2	U+02db
 134.184 +0xb3	U+0142
 134.185 +0xb4	U+00b4
 134.186 +0xb5	U+00b5
 134.187 +0xb6	U+00b6
 134.188 +0xb7	U+00b7
 134.189 +0xb8	U+00b8
 134.190 +0xb9	U+0105
 134.191 +0xba	U+015f
 134.192 +0xbb	U+00bb
 134.193 +0xbc	U+013d
 134.194 +0xbd	U+02dd
 134.195 +0xbe	U+013e
 134.196 +0xbf	U+017c
 134.197 +0xc0	U+0154
 134.198 +0xc1	U+00c1
 134.199 +0xc2	U+00c2
 134.200 +0xc3	U+0102
 134.201 +0xc4	U+00c4
 134.202 +0xc5	U+0139
 134.203 +0xc6	U+0106
 134.204 +0xc7	U+00c7
 134.205 +0xc8	U+010c
 134.206 +0xc9	U+00c9
 134.207 +0xca	U+0118
 134.208 +0xcb	U+00cb
 134.209 +0xcc	U+011a
 134.210 +0xcd	U+00cd
 134.211 +0xce	U+00ce
 134.212 +0xcf	U+010e
 134.213 +0xd0	U+0110
 134.214 +0xd1	U+0143
 134.215 +0xd2	U+0147
 134.216 +0xd3	U+00d3
 134.217 +0xd4	U+00d4
 134.218 +0xd5	U+0150
 134.219 +0xd6	U+00d6
 134.220 +0xd7	U+00d7
 134.221 +0xd8	U+0158
 134.222 +0xd9	U+016e
 134.223 +0xda	U+00da
 134.224 +0xdb	U+0170
 134.225 +0xdc	U+00dc
 134.226 +0xdd	U+00dd
 134.227 +0xde	U+0162
 134.228 +0xdf	U+00df
 134.229 +0xe0	U+0155
 134.230 +0xe1	U+00e1
 134.231 +0xe2	U+00e2
 134.232 +0xe3	U+0103
 134.233 +0xe4	U+00e4
 134.234 +0xe5	U+013a
 134.235 +0xe6	U+0107
 134.236 +0xe7	U+00e7
 134.237 +0xe8	U+010d
 134.238 +0xe9	U+00e9
 134.239 +0xea	U+0119
 134.240 +0xeb	U+00eb
 134.241 +0xec	U+011b
 134.242 +0xed	U+00ed
 134.243 +0xee	U+00ee
 134.244 +0xef	U+010f
 134.245 +0xf0	U+0111
 134.246 +0xf1	U+0144
 134.247 +0xf2	U+0148
 134.248 +0xf3	U+00f3
 134.249 +0xf4	U+00f4
 134.250 +0xf5	U+0151
 134.251 +0xf6	U+00f6
 134.252 +0xf7	U+00f7
 134.253 +0xf8	U+0159
 134.254 +0xf9	U+016f
 134.255 +0xfa	U+00fa
 134.256 +0xfb	U+0171
 134.257 +0xfc	U+00fc
 134.258 +0xfd	U+00fd
 134.259 +0xfe	U+0163
 134.260 +0xff	U+02d9
   135.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   135.2 +++ b/make/tools/CharsetMapping/MS1251.map	Tue Jan 20 09:42:07 2009 -0800
   135.3 @@ -0,0 +1,257 @@
   135.4 +#Generated from MS1251.java
   135.5 +0x00	U+0000
   135.6 +0x01	U+0001
   135.7 +0x02	U+0002
   135.8 +0x03	U+0003
   135.9 +0x04	U+0004
  135.10 +0x05	U+0005
  135.11 +0x06	U+0006
  135.12 +0x07	U+0007
  135.13 +0x08	U+0008
  135.14 +0x09	U+0009
  135.15 +0x0a	U+000a
  135.16 +0x0b	U+000b
  135.17 +0x0c	U+000c
  135.18 +0x0d	U+000d
  135.19 +0x0e	U+000e
  135.20 +0x0f	U+000f
  135.21 +0x10	U+0010
  135.22 +0x11	U+0011
  135.23 +0x12	U+0012
  135.24 +0x13	U+0013
  135.25 +0x14	U+0014
  135.26 +0x15	U+0015
  135.27 +0x16	U+0016
  135.28 +0x17	U+0017
  135.29 +0x18	U+0018
  135.30 +0x19	U+0019
  135.31 +0x1a	U+001a
  135.32 +0x1b	U+001b
  135.33 +0x1c	U+001c
  135.34 +0x1d	U+001d
  135.35 +0x1e	U+001e
  135.36 +0x1f	U+001f
  135.37 +0x20	U+0020
  135.38 +0x21	U+0021
  135.39 +0x22	U+0022
  135.40 +0x23	U+0023
  135.41 +0x24	U+0024
  135.42 +0x25	U+0025
  135.43 +0x26	U+0026
  135.44 +0x27	U+0027
  135.45 +0x28	U+0028
  135.46 +0x29	U+0029
  135.47 +0x2a	U+002a
  135.48 +0x2b	U+002b
  135.49 +0x2c	U+002c
  135.50 +0x2d	U+002d
  135.51 +0x2e	U+002e
  135.52 +0x2f	U+002f
  135.53 +0x30	U+0030
  135.54 +0x31	U+0031
  135.55 +0x32	U+0032
  135.56 +0x33	U+0033
  135.57 +0x34	U+0034
  135.58 +0x35	U+0035
  135.59 +0x36	U+0036
  135.60 +0x37	U+0037
  135.61 +0x38	U+0038
  135.62 +0x39	U+0039
  135.63 +0x3a	U+003a
  135.64 +0x3b	U+003b
  135.65 +0x3c	U+003c
  135.66 +0x3d	U+003d
  135.67 +0x3e	U+003e
  135.68 +0x3f	U+003f
  135.69 +0x40	U+0040
  135.70 +0x41	U+0041
  135.71 +0x42	U+0042
  135.72 +0x43	U+0043
  135.73 +0x44	U+0044
  135.74 +0x45	U+0045
  135.75 +0x46	U+0046
  135.76 +0x47	U+0047
  135.77 +0x48	U+0048
  135.78 +0x49	U+0049
  135.79 +0x4a	U+004a
  135.80 +0x4b	U+004b
  135.81 +0x4c	U+004c
  135.82 +0x4d	U+004d
  135.83 +0x4e	U+004e
  135.84 +0x4f	U+004f
  135.85 +0x50	U+0050
  135.86 +0x51	U+0051
  135.87 +0x52	U+0052
  135.88 +0x53	U+0053
  135.89 +0x54	U+0054
  135.90 +0x55	U+0055
  135.91 +0x56	U+0056
  135.92 +0x57	U+0057
  135.93 +0x58	U+0058
  135.94 +0x59	U+0059
  135.95 +0x5a	U+005a
  135.96 +0x5b	U+005b
  135.97 +0x5c	U+005c
  135.98 +0x5d	U+005d
  135.99 +0x5e	U+005e
 135.100 +0x5f	U+005f
 135.101 +0x60	U+0060
 135.102 +0x61	U+0061
 135.103 +0x62	U+0062
 135.104 +0x63	U+0063
 135.105 +0x64	U+0064
 135.106 +0x65	U+0065
 135.107 +0x66	U+0066
 135.108 +0x67	U+0067
 135.109 +0x68	U+0068
 135.110 +0x69	U+0069
 135.111 +0x6a	U+006a
 135.112 +0x6b	U+006b
 135.113 +0x6c	U+006c
 135.114 +0x6d	U+006d
 135.115 +0x6e	U+006e
 135.116 +0x6f	U+006f
 135.117 +0x70	U+0070
 135.118 +0x71	U+0071
 135.119 +0x72	U+0072
 135.120 +0x73	U+0073
 135.121 +0x74	U+0074
 135.122 +0x75	U+0075
 135.123 +0x76	U+0076
 135.124 +0x77	U+0077
 135.125 +0x78	U+0078
 135.126 +0x79	U+0079
 135.127 +0x7a	U+007a
 135.128 +0x7b	U+007b
 135.129 +0x7c	U+007c
 135.130 +0x7d	U+007d
 135.131 +0x7e	U+007e
 135.132 +0x7f	U+007f
 135.133 +0x80	U+0402
 135.134 +0x81	U+0403
 135.135 +0x82	U+201a
 135.136 +0x83	U+0453
 135.137 +0x84	U+201e
 135.138 +0x85	U+2026
 135.139 +0x86	U+2020
 135.140 +0x87	U+2021
 135.141 +0x88	U+20ac
 135.142 +0x89	U+2030
 135.143 +0x8a	U+0409
 135.144 +0x8b	U+2039
 135.145 +0x8c	U+040a
 135.146 +0x8d	U+040c
 135.147 +0x8e	U+040b
 135.148 +0x8f	U+040f
 135.149 +0x90	U+0452
 135.150 +0x91	U+2018
 135.151 +0x92	U+2019
 135.152 +0x93	U+201c
 135.153 +0x94	U+201d
 135.154 +0x95	U+2022
 135.155 +0x96	U+2013
 135.156 +0x97	U+2014
 135.157 +0x98	U+fffd
 135.158 +0x99	U+2122
 135.159 +0x9a	U+0459
 135.160 +0x9b	U+203a
 135.161 +0x9c	U+045a
 135.162 +0x9d	U+045c
 135.163 +0x9e	U+045b
 135.164 +0x9f	U+045f
 135.165 +0xa0	U+00a0
 135.166 +0xa1	U+040e
 135.167 +0xa2	U+045e
 135.168 +0xa3	U+0408
 135.169 +0xa4	U+00a4
 135.170 +0xa5	U+0490
 135.171 +0xa6	U+00a6
 135.172 +0xa7	U+00a7
 135.173 +0xa8	U+0401
 135.174 +0xa9	U+00a9
 135.175 +0xaa	U+0404
 135.176 +0xab	U+00ab
 135.177 +0xac	U+00ac
 135.178 +0xad	U+00ad
 135.179 +0xae	U+00ae
 135.180 +0xaf	U+0407
 135.181 +0xb0	U+00b0
 135.182 +0xb1	U+00b1
 135.183 +0xb2	U+0406
 135.184 +0xb3	U+0456
 135.185 +0xb4	U+0491
 135.186 +0xb5	U+00b5
 135.187 +0xb6	U+00b6
 135.188 +0xb7	U+00b7
 135.189 +0xb8	U+0451
 135.190 +0xb9	U+2116
 135.191 +0xba	U+0454
 135.192 +0xbb	U+00bb
 135.193 +0xbc	U+0458
 135.194 +0xbd	U+0405
 135.195 +0xbe	U+0455
 135.196 +0xbf	U+0457
 135.197 +0xc0	U+0410
 135.198 +0xc1	U+0411
 135.199 +0xc2	U+0412
 135.200 +0xc3	U+0413
 135.201 +0xc4	U+0414
 135.202 +0xc5	U+0415
 135.203 +0xc6	U+0416
 135.204 +0xc7	U+0417
 135.205 +0xc8	U+0418
 135.206 +0xc9	U+0419
 135.207 +0xca	U+041a
 135.208 +0xcb	U+041b
 135.209 +0xcc	U+041c
 135.210 +0xcd	U+041d
 135.211 +0xce	U+041e
 135.212 +0xcf	U+041f
 135.213 +0xd0	U+0420
 135.214 +0xd1	U+0421
 135.215 +0xd2	U+0422
 135.216 +0xd3	U+0423
 135.217 +0xd4	U+0424
 135.218 +0xd5	U+0425
 135.219 +0xd6	U+0426
 135.220 +0xd7	U+0427
 135.221 +0xd8	U+0428
 135.222 +0xd9	U+0429
 135.223 +0xda	U+042a
 135.224 +0xdb	U+042b
 135.225 +0xdc	U+042c
 135.226 +0xdd	U+042d
 135.227 +0xde	U+042e
 135.228 +0xdf	U+042f
 135.229 +0xe0	U+0430
 135.230 +0xe1	U+0431
 135.231 +0xe2	U+0432
 135.232 +0xe3	U+0433
 135.233 +0xe4	U+0434
 135.234 +0xe5	U+0435
 135.235 +0xe6	U+0436
 135.236 +0xe7	U+0437
 135.237 +0xe8	U+0438
 135.238 +0xe9	U+0439
 135.239 +0xea	U+043a
 135.240 +0xeb	U+043b
 135.241 +0xec	U+043c
 135.242 +0xed	U+043d
 135.243 +0xee	U+043e
 135.244 +0xef	U+043f
 135.245 +0xf0	U+0440
 135.246 +0xf1	U+0441
 135.247 +0xf2	U+0442
 135.248 +0xf3	U+0443
 135.249 +0xf4	U+0444
 135.250 +0xf5	U+0445
 135.251 +0xf6	U+0446
 135.252 +0xf7	U+0447
 135.253 +0xf8	U+0448
 135.254 +0xf9	U+0449
 135.255 +0xfa	U+044a
 135.256 +0xfb	U+044b
 135.257 +0xfc	U+044c
 135.258 +0xfd	U+044d
 135.259 +0xfe	U+044e
 135.260 +0xff	U+044f
   136.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   136.2 +++ b/make/tools/CharsetMapping/MS1252.map	Tue Jan 20 09:42:07 2009 -0800
   136.3 @@ -0,0 +1,257 @@
   136.4 +#Generated from MS1252.java
   136.5 +0x00	U+0000
   136.6 +0x01	U+0001
   136.7 +0x02	U+0002
   136.8 +0x03	U+0003
   136.9 +0x04	U+0004
  136.10 +0x05	U+0005
  136.11 +0x06	U+0006
  136.12 +0x07	U+0007
  136.13 +0x08	U+0008
  136.14 +0x09	U+0009
  136.15 +0x0a	U+000a
  136.16 +0x0b	U+000b
  136.17 +0x0c	U+000c
  136.18 +0x0d	U+000d
  136.19 +0x0e	U+000e
  136.20 +0x0f	U+000f
  136.21 +0x10	U+0010
  136.22 +0x11	U+0011
  136.23 +0x12	U+0012
  136.24 +0x13	U+0013
  136.25 +0x14	U+0014
  136.26 +0x15	U+0015
  136.27 +0x16	U+0016
  136.28 +0x17	U+0017
  136.29 +0x18	U+0018
  136.30 +0x19	U+0019
  136.31 +0x1a	U+001a
  136.32 +0x1b	U+001b
  136.33 +0x1c	U+001c
  136.34 +0x1d	U+001d
  136.35 +0x1e	U+001e
  136.36 +0x1f	U+001f
  136.37 +0x20	U+0020
  136.38 +0x21	U+0021
  136.39 +0x22	U+0022
  136.40 +0x23	U+0023
  136.41 +0x24	U+0024
  136.42 +0x25	U+0025
  136.43 +0x26	U+0026
  136.44 +0x27	U+0027
  136.45 +0x28	U+0028
  136.46 +0x29	U+0029
  136.47 +0x2a	U+002a
  136.48 +0x2b	U+002b
  136.49 +0x2c	U+002c
  136.50 +0x2d	U+002d
  136.51 +0x2e	U+002e
  136.52 +0x2f	U+002f
  136.53 +0x30	U+0030
  136.54 +0x31	U+0031
  136.55 +0x32	U+0032
  136.56 +0x33	U+0033
  136.57 +0x34	U+0034
  136.58 +0x35	U+0035
  136.59 +0x36	U+0036
  136.60 +0x37	U+0037
  136.61 +0x38	U+0038
  136.62 +0x39	U+0039
  136.63 +0x3a	U+003a
  136.64 +0x3b	U+003b
  136.65 +0x3c	U+003c
  136.66 +0x3d	U+003d
  136.67 +0x3e	U+003e
  136.68 +0x3f	U+003f
  136.69 +0x40	U+0040
  136.70 +0x41	U+0041
  136.71 +0x42	U+0042
  136.72 +0x43	U+0043
  136.73 +0x44	U+0044
  136.74 +0x45	U+0045
  136.75 +0x46	U+0046
  136.76 +0x47	U+0047
  136.77 +0x48	U+0048
  136.78 +0x49	U+0049
  136.79 +0x4a	U+004a
  136.80 +0x4b	U+004b
  136.81 +0x4c	U+004c
  136.82 +0x4d	U+004d
  136.83 +0x4e	U+004e
  136.84 +0x4f	U+004f
  136.85 +0x50	U+0050
  136.86 +0x51	U+0051
  136.87 +0x52	U+0052
  136.88 +0x53	U+0053
  136.89 +0x54	U+0054
  136.90 +0x55	U+0055
  136.91 +0x56	U+0056
  136.92 +0x57	U+0057
  136.93 +0x58	U+0058
  136.94 +0x59	U+0059
  136.95 +0x5a	U+005a
  136.96 +0x5b	U+005b
  136.97 +0x5c	U+005c
  136.98 +0x5d	U+005d
  136.99 +0x5e	U+005e
 136.100 +0x5f	U+005f
 136.101 +0x60	U+0060
 136.102 +0x61	U+0061
 136.103 +0x62	U+0062
 136.104 +0x63	U+0063
 136.105 +0x64	U+0064
 136.106 +0x65	U+0065
 136.107 +0x66	U+0066
 136.108 +0x67	U+0067
 136.109 +0x68	U+0068
 136.110 +0x69	U+0069
 136.111 +0x6a	U+006a
 136.112 +0x6b	U+006b
 136.113 +0x6c	U+006c
 136.114 +0x6d	U+006d
 136.115 +0x6e	U+006e
 136.116 +0x6f	U+006f
 136.117 +0x70	U+0070
 136.118 +0x71	U+0071
 136.119 +0x72	U+0072
 136.120 +0x73	U+0073
 136.121 +0x74	U+0074
 136.122 +0x75	U+0075
 136.123 +0x76	U+0076
 136.124 +0x77	U+0077
 136.125 +0x78	U+0078
 136.126 +0x79	U+0079
 136.127 +0x7a	U+007a
 136.128 +0x7b	U+007b
 136.129 +0x7c	U+007c
 136.130 +0x7d	U+007d
 136.131 +0x7e	U+007e
 136.132 +0x7f	U+007f
 136.133 +0x80	U+20ac
 136.134 +0x81	U+fffd
 136.135 +0x82	U+201a
 136.136 +0x83	U+0192
 136.137 +0x84	U+201e
 136.138 +0x85	U+2026
 136.139 +0x86	U+2020
 136.140 +0x87	U+2021
 136.141 +0x88	U+02c6
 136.142 +0x89	U+2030
 136.143 +0x8a	U+0160
 136.144 +0x8b	U+2039
 136.145 +0x8c	U+0152
 136.146 +0x8d	U+fffd
 136.147 +0x8e	U+017d
 136.148 +0x8f	U+fffd
 136.149 +0x90	U+fffd
 136.150 +0x91	U+2018
 136.151 +0x92	U+2019
 136.152 +0x93	U+201c
 136.153 +0x94	U+201d
 136.154 +0x95	U+2022
 136.155 +0x96	U+2013
 136.156 +0x97	U+2014
 136.157 +0x98	U+02dc
 136.158 +0x99	U+2122
 136.159 +0x9a	U+0161
 136.160 +0x9b	U+203a
 136.161 +0x9c	U+0153
 136.162 +0x9d	U+fffd
 136.163 +0x9e	U+017e
 136.164 +0x9f	U+0178
 136.165 +0xa0	U+00a0
 136.166 +0xa1	U+00a1
 136.167 +0xa2	U+00a2
 136.168 +0xa3	U+00a3
 136.169 +0xa4	U+00a4
 136.170 +0xa5	U+00a5
 136.171 +0xa6	U+00a6
 136.172 +0xa7	U+00a7
 136.173 +0xa8	U+00a8
 136.174 +0xa9	U+00a9
 136.175 +0xaa	U+00aa
 136.176 +0xab	U+00ab
 136.177 +0xac	U+00ac
 136.178 +0xad	U+00ad
 136.179 +0xae	U+00ae
 136.180 +0xaf	U+00af
 136.181 +0xb0	U+00b0
 136.182 +0xb1	U+00b1
 136.183 +0xb2	U+00b2
 136.184 +0xb3	U+00b3
 136.185 +0xb4	U+00b4
 136.186 +0xb5	U+00b5
 136.187 +0xb6	U+00b6
 136.188 +0xb7	U+00b7
 136.189 +0xb8	U+00b8
 136.190 +0xb9	U+00b9
 136.191 +0xba	U+00ba
 136.192 +0xbb	U+00bb
 136.193 +0xbc	U+00bc
 136.194 +0xbd	U+00bd
 136.195 +0xbe	U+00be
 136.196 +0xbf	U+00bf
 136.197 +0xc0	U+00c0
 136.198 +0xc1	U+00c1
 136.199 +0xc2	U+00c2
 136.200 +0xc3	U+00c3
 136.201 +0xc4	U+00c4
 136.202 +0xc5	U+00c5
 136.203 +0xc6	U+00c6
 136.204 +0xc7	U+00c7
 136.205 +0xc8	U+00c8
 136.206 +0xc9	U+00c9
 136.207 +0xca	U+00ca
 136.208 +0xcb	U+00cb
 136.209 +0xcc	U+00cc
 136.210 +0xcd	U+00cd
 136.211 +0xce	U+00ce
 136.212 +0xcf	U+00cf
 136.213 +0xd0	U+00d0
 136.214 +0xd1	U+00d1
 136.215 +0xd2	U+00d2
 136.216 +0xd3	U+00d3
 136.217 +0xd4	U+00d4
 136.218 +0xd5	U+00d5
 136.219 +0xd6	U+00d6
 136.220 +0xd7	U+00d7
 136.221 +0xd8	U+00d8
 136.222 +0xd9	U+00d9
 136.223 +0xda	U+00da
 136.224 +0xdb	U+00db
 136.225 +0xdc	U+00dc
 136.226 +0xdd	U+00dd
 136.227 +0xde	U+00de
 136.228 +0xdf	U+00df
 136.229 +0xe0	U+00e0
 136.230 +0xe1	U+00e1
 136.231 +0xe2	U+00e2
 136.232 +0xe3	U+00e3
 136.233 +0xe4	U+00e4
 136.234 +0xe5	U+00e5
 136.235 +0xe6	U+00e6
 136.236 +0xe7	U+00e7
 136.237 +0xe8	U+00e8
 136.238 +0xe9	U+00e9
 136.239 +0xea	U+00ea
 136.240 +0xeb	U+00eb
 136.241 +0xec	U+00ec
 136.242 +0xed	U+00ed
 136.243 +0xee	U+00ee
 136.244 +0xef	U+00ef
 136.245 +0xf0	U+00f0
 136.246 +0xf1	U+00f1
 136.247 +0xf2	U+00f2
 136.248 +0xf3	U+00f3
 136.249 +0xf4	U+00f4
 136.250 +0xf5	U+00f5
 136.251 +0xf6	U+00f6
 136.252 +0xf7	U+00f7
 136.253 +0xf8	U+00f8
 136.254 +0xf9	U+00f9
 136.255 +0xfa	U+00fa
 136.256 +0xfb	U+00fb
 136.257 +0xfc	U+00fc
 136.258 +0xfd	U+00fd
 136.259 +0xfe	U+00fe
 136.260 +0xff	U+00ff
   137.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   137.2 +++ b/make/tools/CharsetMapping/MS1253.map	Tue Jan 20 09:42:07 2009 -0800
   137.3 @@ -0,0 +1,257 @@
   137.4 +#Generated from MS1253.java
   137.5 +0x00	U+0000
   137.6 +0x01	U+0001
   137.7 +0x02	U+0002
   137.8 +0x03	U+0003
   137.9 +0x04	U+0004
  137.10 +0x05	U+0005
  137.11 +0x06	U+0006
  137.12 +0x07	U+0007
  137.13 +0x08	U+0008
  137.14 +0x09	U+0009
  137.15 +0x0a	U+000a
  137.16 +0x0b	U+000b
  137.17 +0x0c	U+000c
  137.18 +0x0d	U+000d
  137.19 +0x0e	U+000e
  137.20 +0x0f	U+000f
  137.21 +0x10	U+0010
  137.22 +0x11	U+0011
  137.23 +0x12	U+0012
  137.24 +0x13	U+0013
  137.25 +0x14	U+0014
  137.26 +0x15	U+0015
  137.27 +0x16	U+0016
  137.28 +0x17	U+0017
  137.29 +0x18	U+0018
  137.30 +0x19	U+0019
  137.31 +0x1a	U+001a
  137.32 +0x1b	U+001b
  137.33 +0x1c	U+001c
  137.34 +0x1d	U+001d
  137.35 +0x1e	U+001e
  137.36 +0x1f	U+001f
  137.37 +0x20	U+0020
  137.38 +0x21	U+0021
  137.39 +0x22	U+0022
  137.40 +0x23	U+0023
  137.41 +0x24	U+0024
  137.42 +0x25	U+0025
  137.43 +0x26	U+0026
  137.44 +0x27	U+0027
  137.45 +0x28	U+0028
  137.46 +0x29	U+0029
  137.47 +0x2a	U+002a
  137.48 +0x2b	U+002b
  137.49 +0x2c	U+002c
  137.50 +0x2d	U+002d
  137.51 +0x2e	U+002e
  137.52 +0x2f	U+002f
  137.53 +0x30	U+0030
  137.54 +0x31	U+0031
  137.55 +0x32	U+0032
  137.56 +0x33	U+0033
  137.57 +0x34	U+0034
  137.58 +0x35	U+0035
  137.59 +0x36	U+0036
  137.60 +0x37	U+0037
  137.61 +0x38	U+0038
  137.62 +0x39	U+0039
  137.63 +0x3a	U+003a
  137.64 +0x3b	U+003b
  137.65 +0x3c	U+003c
  137.66 +0x3d	U+003d
  137.67 +0x3e	U+003e
  137.68 +0x3f	U+003f
  137.69 +0x40	U+0040
  137.70 +0x41	U+0041
  137.71 +0x42	U+0042
  137.72 +0x43	U+0043
  137.73 +0x44	U+0044
  137.74 +0x45	U+0045
  137.75 +0x46	U+0046
  137.76 +0x47	U+0047
  137.77 +0x48	U+0048
  137.78 +0x49	U+0049
  137.79 +0x4a	U+004a
  137.80 +0x4b	U+004b
  137.81 +0x4c	U+004c
  137.82 +0x4d	U+004d
  137.83 +0x4e	U+004e
  137.84 +0x4f	U+004f
  137.85 +0x50	U+0050
  137.86 +0x51	U+0051
  137.87 +0x52	U+0052
  137.88 +0x53	U+0053
  137.89 +0x54	U+0054
  137.90 +0x55	U+0055
  137.91 +0x56	U+0056
  137.92 +0x57	U+0057
  137.93 +0x58	U+0058
  137.94 +0x59	U+0059
  137.95 +0x5a	U+005a
  137.96 +0x5b	U+005b
  137.97 +0x5c	U+005c
  137.98 +0x5d	U+005d
  137.99 +0x5e	U+005e
 137.100 +0x5f	U+005f
 137.101 +0x60	U+0060
 137.102 +0x61	U+0061
 137.103 +0x62	U+0062
 137.104 +0x63	U+0063
 137.105 +0x64	U+0064
 137.106 +0x65	U+0065
 137.107 +0x66	U+0066
 137.108 +0x67	U+0067
 137.109 +0x68	U+0068
 137.110 +0x69	U+0069
 137.111 +0x6a	U+006a
 137.112 +0x6b	U+006b
 137.113 +0x6c	U+006c
 137.114 +0x6d	U+006d
 137.115 +0x6e	U+006e
 137.116 +0x6f	U+006f
 137.117 +0x70	U+0070
 137.118 +0x71	U+0071
 137.119 +0x72	U+0072
 137.120 +0x73	U+0073
 137.121 +0x74	U+0074
 137.122 +0x75	U+0075
 137.123 +0x76	U+0076
 137.124 +0x77	U+0077
 137.125 +0x78	U+0078
 137.126 +0x79	U+0079
 137.127 +0x7a	U+007a
 137.128 +0x7b	U+007b
 137.129 +0x7c	U+007c
 137.130 +0x7d	U+007d
 137.131 +0x7e	U+007e
 137.132 +0x7f	U+007f
 137.133 +0x80	U+20ac
 137.134 +0x81	U+fffd
 137.135 +0x82	U+201a
 137.136 +0x83	U+0192
 137.137 +0x84	U+201e
 137.138 +0x85	U+2026
 137.139 +0x86	U+2020
 137.140 +0x87	U+2021
 137.141 +0x88	U+fffd
 137.142 +0x89	U+2030
 137.143 +0x8a	U+fffd
 137.144 +0x8b	U+2039
 137.145 +0x8c	U+fffd
 137.146 +0x8d	U+fffd
 137.147 +0x8e	U+fffd
 137.148 +0x8f	U+fffd
 137.149 +0x90	U+fffd
 137.150 +0x91	U+2018
 137.151 +0x92	U+2019
 137.152 +0x93	U+201c
 137.153 +0x94	U+201d
 137.154 +0x95	U+2022
 137.155 +0x96	U+2013
 137.156 +0x97	U+2014
 137.157 +0x98	U+fffd
 137.158 +0x99	U+2122
 137.159 +0x9a	U+fffd
 137.160 +0x9b	U+203a
 137.161 +0x9c	U+fffd
 137.162 +0x9d	U+fffd
 137.163 +0x9e	U+fffd
 137.164 +0x9f	U+fffd
 137.165 +0xa0	U+00a0
 137.166 +0xa1	U+0385
 137.167 +0xa2	U+0386
 137.168 +0xa3	U+00a3
 137.169 +0xa4	U+00a4
 137.170 +0xa5	U+00a5
 137.171 +0xa6	U+00a6
 137.172 +0xa7	U+00a7
 137.173 +0xa8	U+00a8
 137.174 +0xa9	U+00a9
 137.175 +0xaa	U+fffd
 137.176 +0xab	U+00ab
 137.177 +0xac	U+00ac
 137.178 +0xad	U+00ad
 137.179 +0xae	U+00ae
 137.180 +0xaf	U+2015
 137.181 +0xb0	U+00b0
 137.182 +0xb1	U+00b1
 137.183 +0xb2	U+00b2
 137.184 +0xb3	U+00b3
 137.185 +0xb4	U+0384
 137.186 +0xb5	U+00b5
 137.187 +0xb6	U+00b6
 137.188 +0xb7	U+00b7
 137.189 +0xb8	U+0388
 137.190 +0xb9	U+0389
 137.191 +0xba	U+038a
 137.192 +0xbb	U+00bb
 137.193 +0xbc	U+038c
 137.194 +0xbd	U+00bd
 137.195 +0xbe	U+038e
 137.196 +0xbf	U+038f
 137.197 +0xc0	U+0390
 137.198 +0xc1	U+0391
 137.199 +0xc2	U+0392
 137.200 +0xc3	U+0393
 137.201 +0xc4	U+0394
 137.202 +0xc5	U+0395
 137.203 +0xc6	U+0396
 137.204 +0xc7	U+0397
 137.205 +0xc8	U+0398
 137.206 +0xc9	U+0399
 137.207 +0xca	U+039a
 137.208 +0xcb	U+039b
 137.209 +0xcc	U+039c
 137.210 +0xcd	U+039d
 137.211 +0xce	U+039e
 137.212 +0xcf	U+039f
 137.213 +0xd0	U+03a0
 137.214 +0xd1	U+03a1
 137.215 +0xd2	U+fffd
 137.216 +0xd3	U+03a3
 137.217 +0xd4	U+03a4
 137.218 +0xd5	U+03a5
 137.219 +0xd6	U+03a6
 137.220 +0xd7	U+03a7
 137.221 +0xd8	U+03a8
 137.222 +0xd9	U+03a9
 137.223 +0xda	U+03aa
 137.224 +0xdb	U+03ab
 137.225 +0xdc	U+03ac
 137.226 +0xdd	U+03ad
 137.227 +0xde	U+03ae
 137.228 +0xdf	U+03af
 137.229 +0xe0	U+03b0
 137.230 +0xe1	U+03b1
 137.231 +0xe2	U+03b2
 137.232 +0xe3	U+03b3
 137.233 +0xe4	U+03b4
 137.234 +0xe5	U+03b5
 137.235 +0xe6	U+03b6
 137.236 +0xe7	U+03b7
 137.237 +0xe8	U+03b8
 137.238 +0xe9	U+03b9
 137.239 +0xea	U+03ba
 137.240 +0xeb	U+03bb
 137.241 +0xec	U+03bc
 137.242 +0xed	U+03bd
 137.243 +0xee	U+03be
 137.244 +0xef	U+03bf
 137.245 +0xf0	U+03c0
 137.246 +0xf1	U+03c1
 137.247 +0xf2	U+03c2
 137.248 +0xf3	U+03c3
 137.249 +0xf4	U+03c4
 137.250 +0xf5	U+03c5
 137.251 +0xf6	U+03c6
 137.252 +0xf7	U+03c7
 137.253 +0xf8	U+03c8
 137.254 +0xf9	U+03c9
 137.255 +0xfa	U+03ca
 137.256 +0xfb	U+03cb
 137.257 +0xfc	U+03cc
 137.258 +0xfd	U+03cd
 137.259 +0xfe	U+03ce
 137.260 +0xff	U+fffd
   138.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   138.2 +++ b/make/tools/CharsetMapping/MS1254.map	Tue Jan 20 09:42:07 2009 -0800
   138.3 @@ -0,0 +1,257 @@
   138.4 +#Generated from MS1254.java
   138.5 +0x00	U+0000
   138.6 +0x01	U+0001
   138.7 +0x02	U+0002
   138.8 +0x03	U+0003
   138.9 +0x04	U+0004
  138.10 +0x05	U+0005
  138.11 +0x06	U+0006
  138.12 +0x07	U+0007
  138.13 +0x08	U+0008
  138.14 +0x09	U+0009
  138.15 +0x0a	U+000a
  138.16 +0x0b	U+000b
  138.17 +0x0c	U+000c
  138.18 +0x0d	U+000d
  138.19 +0x0e	U+000e
  138.20 +0x0f	U+000f
  138.21 +0x10	U+0010
  138.22 +0x11	U+0011
  138.23 +0x12	U+0012
  138.24 +0x13	U+0013
  138.25 +0x14	U+0014
  138.26 +0x15	U+0015
  138.27 +0x16	U+0016
  138.28 +0x17	U+0017
  138.29 +0x18	U+0018
  138.30 +0x19	U+0019
  138.31 +0x1a	U+001a
  138.32 +0x1b	U+001b
  138.33 +0x1c	U+001c
  138.34 +0x1d	U+001d
  138.35 +0x1e	U+001e
  138.36 +0x1f	U+001f
  138.37 +0x20	U+0020
  138.38 +0x21	U+0021
  138.39 +0x22	U+0022
  138.40 +0x23	U+0023
  138.41 +0x24	U+0024
  138.42 +0x25	U+0025
  138.43 +0x26	U+0026
  138.44 +0x27	U+0027
  138.45 +0x28	U+0028
  138.46 +0x29	U+0029
  138.47 +0x2a	U+002a
  138.48 +0x2b	U+002b
  138.49 +0x2c	U+002c
  138.50 +0x2d	U+002d
  138.51 +0x2e	U+002e
  138.52 +0x2f	U+002f
  138.53 +0x30	U+0030
  138.54 +0x31	U+0031
  138.55 +0x32	U+0032
  138.56 +0x33	U+0033
  138.57 +0x34	U+0034
  138.58 +0x35	U+0035
  138.59 +0x36	U+0036
  138.60 +0x37	U+0037
  138.61 +0x38	U+0038
  138.62 +0x39	U+0039
  138.63 +0x3a	U+003a
  138.64 +0x3b	U+003b
  138.65 +0x3c	U+003c
  138.66 +0x3d	U+003d
  138.67 +0x3e	U+003e
  138.68 +0x3f	U+003f
  138.69 +0x40	U+0040
  138.70 +0x41	U+0041
  138.71 +0x42	U+0042
  138.72 +0x43	U+0043
  138.73 +0x44	U+0044
  138.74 +0x45	U+0045
  138.75 +0x46	U+0046
  138.76 +0x47	U+0047
  138.77 +0x48	U+0048
  138.78 +0x49	U+0049
  138.79 +0x4a	U+004a
  138.80 +0x4b	U+004b
  138.81 +0x4c	U+004c
  138.82 +0x4d	U+004d
  138.83 +0x4e	U+004e
  138.84 +0x4f	U+004f
  138.85 +0x50	U+0050
  138.86 +0x51	U+0051
  138.87 +0x52	U+0052
  138.88 +0x53	U+0053
  138.89 +0x54	U+0054
  138.90 +0x55	U+0055
  138.91 +0x56	U+0056
  138.92 +0x57	U+0057
  138.93 +0x58	U+0058
  138.94 +0x59	U+0059
  138.95 +0x5a	U+005a
  138.96 +0x5b	U+005b
  138.97 +0x5c	U+005c
  138.98 +0x5d	U+005d
  138.99 +0x5e	U+005e
 138.100 +0x5f	U+005f
 138.101 +0x60	U+0060
 138.102 +0x61	U+0061
 138.103 +0x62	U+0062
 138.104 +0x63	U+0063
 138.105 +0x64	U+0064
 138.106 +0x65	U+0065
 138.107 +0x66	U+0066
 138.108 +0x67	U+0067
 138.109 +0x68	U+0068
 138.110 +0x69	U+0069
 138.111 +0x6a	U+006a
 138.112 +0x6b	U+006b
 138.113 +0x6c	U+006c
 138.114 +0x6d	U+006d
 138.115 +0x6e	U+006e
 138.116 +0x6f	U+006f
 138.117 +0x70	U+0070
 138.118 +0x71	U+0071
 138.119 +0x72	U+0072
 138.120 +0x73	U+0073
 138.121 +0x74	U+0074
 138.122 +0x75	U+0075
 138.123 +0x76	U+0076
 138.124 +0x77	U+0077
 138.125 +0x78	U+0078
 138.126 +0x79	U+0079
 138.127 +0x7a	U+007a
 138.128 +0x7b	U+007b
 138.129 +0x7c	U+007c
 138.130 +0x7d	U+007d
 138.131 +0x7e	U+007e
 138.132 +0x7f	U+007f
 138.133 +0x80	U+20ac
 138.134 +0x81	U+fffd
 138.135 +0x82	U+201a
 138.136 +0x83	U+0192
 138.137 +0x84	U+201e
 138.138 +0x85	U+2026
 138.139 +0x86	U+2020
 138.140 +0x87	U+2021
 138.141 +0x88	U+02c6
 138.142 +0x89	U+2030
 138.143 +0x8a	U+0160
 138.144 +0x8b	U+2039
 138.145 +0x8c	U+0152
 138.146 +0x8d	U+fffd
 138.147 +0x8e	U+fffd
 138.148 +0x8f	U+fffd
 138.149 +0x90	U+fffd
 138.150 +0x91	U+2018
 138.151 +0x92	U+2019
 138.152 +0x93	U+201c
 138.153 +0x94	U+201d
 138.154 +0x95	U+2022
 138.155 +0x96	U+2013
 138.156 +0x97	U+2014
 138.157 +0x98	U+02dc
 138.158 +0x99	U+2122
 138.159 +0x9a	U+0161
 138.160 +0x9b	U+203a
 138.161 +0x9c	U+0153
 138.162 +0x9d	U+fffd
 138.163 +0x9e	U+fffd
 138.164 +0x9f	U+0178
 138.165 +0xa0	U+00a0
 138.166 +0xa1	U+00a1
 138.167 +0xa2	U+00a2
 138.168 +0xa3	U+00a3
 138.169 +0xa4	U+00a4
 138.170 +0xa5	U+00a5
 138.171 +0xa6	U+00a6
 138.172 +0xa7	U+00a7
 138.173 +0xa8	U+00a8
 138.174 +0xa9	U+00a9
 138.175 +0xaa	U+00aa
 138.176 +0xab	U+00ab
 138.177 +0xac	U+00ac
 138.178 +0xad	U+00ad
 138.179 +0xae	U+00ae
 138.180 +0xaf	U+00af
 138.181 +0xb0	U+00b0
 138.182 +0xb1	U+00b1
 138.183 +0xb2	U+00b2
 138.184 +0xb3	U+00b3
 138.185 +0xb4	U+00b4
 138.186 +0xb5	U+00b5
 138.187 +0xb6	U+00b6
 138.188 +0xb7	U+00b7
 138.189 +0xb8	U+00b8
 138.190 +0xb9	U+00b9
 138.191 +0xba	U+00ba
 138.192 +0xbb	U+00bb
 138.193 +0xbc	U+00bc
 138.194 +0xbd	U+00bd
 138.195 +0xbe	U+00be
 138.196 +0xbf	U+00bf
 138.197 +0xc0	U+00c0
 138.198 +0xc1	U+00c1
 138.199 +0xc2	U+00c2
 138.200 +0xc3	U+00c3
 138.201 +0xc4	U+00c4
 138.202 +0xc5	U+00c5
 138.203 +0xc6	U+00c6
 138.204 +0xc7	U+00c7
 138.205 +0xc8	U+00c8
 138.206 +0xc9	U+00c9
 138.207 +0xca	U+00ca
 138.208 +0xcb	U+00cb
 138.209 +0xcc	U+00cc
 138.210 +0xcd	U+00cd
 138.211 +0xce	U+00ce
 138.212 +0xcf	U+00cf
 138.213 +0xd0	U+011e
 138.214 +0xd1	U+00d1
 138.215 +0xd2	U+00d2
 138.216 +0xd3	U+00d3
 138.217 +0xd4	U+00d4
 138.218 +0xd5	U+00d5
 138.219 +0xd6	U+00d6
 138.220 +0xd7	U+00d7
 138.221 +0xd8	U+00d8
 138.222 +0xd9	U+00d9
 138.223 +0xda	U+00da
 138.224 +0xdb	U+00db
 138.225 +0xdc	U+00dc
 138.226 +0xdd	U+0130
 138.227 +0xde	U+015e
 138.228 +0xdf	U+00df
 138.229 +0xe0	U+00e0
 138.230 +0xe1	U+00e1
 138.231 +0xe2	U+00e2
 138.232 +0xe3	U+00e3
 138.233 +0xe4	U+00e4
 138.234 +0xe5	U+00e5
 138.235 +0xe6	U+00e6
 138.236 +0xe7	U+00e7
 138.237 +0xe8	U+00e8
 138.238 +0xe9	U+00e9
 138.239 +0xea	U+00ea
 138.240 +0xeb	U+00eb
 138.241 +0xec	U+00ec
 138.242 +0xed	U+00ed
 138.243 +0xee	U+00ee
 138.244 +0xef	U+00ef
 138.245 +0xf0	U+011f
 138.246 +0xf1	U+00f1
 138.247 +0xf2	U+00f2
 138.248 +0xf3	U+00f3
 138.249 +0xf4	U+00f4
 138.250 +0xf5	U+00f5
 138.251 +0xf6	U+00f6
 138.252 +0xf7	U+00f7
 138.253 +0xf8	U+00f8
 138.254 +0xf9	U+00f9
 138.255 +0xfa	U+00fa
 138.256 +0xfb	U+00fb
 138.257 +0xfc	U+00fc
 138.258 +0xfd	U+0131
 138.259 +0xfe	U+015f
 138.260 +0xff	U+00ff
   139.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   139.2 +++ b/make/tools/CharsetMapping/MS1255.map	Tue Jan 20 09:42:07 2009 -0800
   139.3 @@ -0,0 +1,257 @@
   139.4 +#Generated from MS1255.java
   139.5 +0x00	U+0000
   139.6 +0x01	U+0001
   139.7 +0x02	U+0002
   139.8 +0x03	U+0003
   139.9 +0x04	U+0004
  139.10 +0x05	U+0005
  139.11 +0x06	U+0006
  139.12 +0x07	U+0007
  139.13 +0x08	U+0008
  139.14 +0x09	U+0009
  139.15 +0x0a	U+000a
  139.16 +0x0b	U+000b
  139.17 +0x0c	U+000c
  139.18 +0x0d	U+000d
  139.19 +0x0e	U+000e
  139.20 +0x0f	U+000f
  139.21 +0x10	U+0010
  139.22 +0x11	U+0011
  139.23 +0x12	U+0012
  139.24 +0x13	U+0013
  139.25 +0x14	U+0014
  139.26 +0x15	U+0015
  139.27 +0x16	U+0016
  139.28 +0x17	U+0017
  139.29 +0x18	U+0018
  139.30 +0x19	U+0019
  139.31 +0x1a	U+001a
  139.32 +0x1b	U+001b
  139.33 +0x1c	U+001c
  139.34 +0x1d	U+001d
  139.35 +0x1e	U+001e
  139.36 +0x1f	U+001f
  139.37 +0x20	U+0020
  139.38 +0x21	U+0021
  139.39 +0x22	U+0022
  139.40 +0x23	U+0023
  139.41 +0x24	U+0024
  139.42 +0x25	U+0025
  139.43 +0x26	U+0026
  139.44 +0x27	U+0027
  139.45 +0x28	U+0028
  139.46 +0x29	U+0029
  139.47 +0x2a	U+002a
  139.48 +0x2b	U+002b
  139.49 +0x2c	U+002c
  139.50 +0x2d	U+002d
  139.51 +0x2e	U+002e
  139.52 +0x2f	U+002f
  139.53 +0x30	U+0030
  139.54 +0x31	U+0031
  139.55 +0x32	U+0032
  139.56 +0x33	U+0033
  139.57 +0x34	U+0034
  139.58 +0x35	U+0035
  139.59 +0x36	U+0036
  139.60 +0x37	U+0037
  139.61 +0x38	U+0038
  139.62 +0x39	U+0039
  139.63 +0x3a	U+003a
  139.64 +0x3b	U+003b
  139.65 +0x3c	U+003c
  139.66 +0x3d	U+003d
  139.67 +0x3e	U+003e
  139.68 +0x3f	U+003f
  139.69 +0x40	U+0040
  139.70 +0x41	U+0041
  139.71 +0x42	U+0042
  139.72 +0x43	U+0043
  139.73 +0x44	U+0044
  139.74 +0x45	U+0045
  139.75 +0x46	U+0046
  139.76 +0x47	U+0047
  139.77 +0x48	U+0048
  139.78 +0x49	U+0049
  139.79 +0x4a	U+004a
  139.80 +0x4b	U+004b
  139.81 +0x4c	U+004c
  139.82 +0x4d	U+004d
  139.83 +0x4e	U+004e
  139.84 +0x4f	U+004f
  139.85 +0x50	U+0050
  139.86 +0x51	U+0051
  139.87 +0x52	U+0052
  139.88 +0x53	U+0053
  139.89 +0x54	U+0054
  139.90 +0x55	U+0055
  139.91 +0x56	U+0056
  139.92 +0x57	U+0057
  139.93 +0x58	U+0058
  139.94 +0x59	U+0059
  139.95 +0x5a	U+005a
  139.96 +0x5b	U+005b
  139.97 +0x5c	U+005c
  139.98 +0x5d	U+005d
  139.99 +0x5e	U+005e
 139.100 +0x5f	U+005f
 139.101 +0x60	U+0060
 139.102 +0x61	U+0061
 139.103 +0x62	U+0062
 139.104 +0x63	U+0063
 139.105 +0x64	U+0064
 139.106 +0x65	U+0065
 139.107 +0x66	U+0066
 139.108 +0x67	U+0067
 139.109 +0x68	U+0068
 139.110 +0x69	U+0069
 139.111 +0x6a	U+006a
 139.112 +0x6b	U+006b
 139.113 +0x6c	U+006c
 139.114 +0x6d	U+006d
 139.115 +0x6e	U+006e
 139.116 +0x6f	U+006f
 139.117 +0x70	U+0070
 139.118 +0x71	U+0071
 139.119 +0x72	U+0072
 139.120 +0x73	U+0073
 139.121 +0x74	U+0074
 139.122 +0x75	U+0075
 139.123 +0x76	U+0076
 139.124 +0x77	U+0077
 139.125 +0x78	U+0078
 139.126 +0x79	U+0079
 139.127 +0x7a	U+007a
 139.128 +0x7b	U+007b
 139.129 +0x7c	U+007c
 139.130 +0x7d	U+007d
 139.131 +0x7e	U+007e
 139.132 +0x7f	U+007f
 139.133 +0x80	U+20ac
 139.134 +0x81	U+fffd
 139.135 +0x82	U+201a
 139.136 +0x83	U+0192
 139.137 +0x84	U+201e
 139.138 +0x85	U+2026
 139.139 +0x86	U+2020
 139.140 +0x87	U+2021
 139.141 +0x88	U+02c6
 139.142 +0x89	U+2030
 139.143 +0x8a	U+fffd
 139.144 +0x8b	U+2039
 139.145 +0x8c	U+fffd
 139.146 +0x8d	U+fffd
 139.147 +0x8e	U+fffd
 139.148 +0x8f	U+fffd
 139.149 +0x90	U+fffd
 139.150 +0x91	U+2018
 139.151 +0x92	U+2019
 139.152 +0x93	U+201c
 139.153 +0x94	U+201d
 139.154 +0x95	U+2022
 139.155 +0x96	U+2013
 139.156 +0x97	U+2014
 139.157 +0x98	U+02dc
 139.158 +0x99	U+2122
 139.159 +0x9a	U+fffd
 139.160 +0x9b	U+203a
 139.161 +0x9c	U+fffd
 139.162 +0x9d	U+fffd
 139.163 +0x9e	U+fffd
 139.164 +0x9f	U+fffd
 139.165 +0xa0	U+00a0
 139.166 +0xa1	U+00a1
 139.167 +0xa2	U+00a2
 139.168 +0xa3	U+00a3
 139.169 +0xa4	U+20aa
 139.170 +0xa5	U+00a5
 139.171 +0xa6	U+00a6
 139.172 +0xa7	U+00a7
 139.173 +0xa8	U+00a8
 139.174 +0xa9	U+00a9
 139.175 +0xaa	U+00d7
 139.176 +0xab	U+00ab
 139.177 +0xac	U+00ac
 139.178 +0xad	U+00ad
 139.179 +0xae	U+00ae
 139.180 +0xaf	U+00af
 139.181 +0xb0	U+00b0
 139.182 +0xb1	U+00b1
 139.183 +0xb2	U+00b2
 139.184 +0xb3	U+00b3
 139.185 +0xb4	U+00b4
 139.186 +0xb5	U+00b5
 139.187 +0xb6	U+00b6
 139.188 +0xb7	U+00b7
 139.189 +0xb8	U+00b8
 139.190 +0xb9	U+00b9
 139.191 +0xba	U+00f7
 139.192 +0xbb	U+00bb
 139.193 +0xbc	U+00bc
 139.194 +0xbd	U+00bd
 139.195 +0xbe	U+00be
 139.196 +0xbf	U+00bf
 139.197 +0xc0	U+05b0
 139.198 +0xc1	U+05b1
 139.199 +0xc2	U+05b2
 139.200 +0xc3	U+05b3
 139.201 +0xc4	U+05b4
 139.202 +0xc5	U+05b5
 139.203 +0xc6	U+05b6
 139.204 +0xc7	U+05b7
 139.205 +0xc8	U+05b8
 139.206 +0xc9	U+05b9
 139.207 +0xca	U+fffd
 139.208 +0xcb	U+05bb
 139.209 +0xcc	U+05bc
 139.210 +0xcd	U+05bd
 139.211 +0xce	U+05be
 139.212 +0xcf	U+05bf
 139.213 +0xd0	U+05c0
 139.214 +0xd1	U+05c1
 139.215 +0xd2	U+05c2
 139.216 +0xd3	U+05c3
 139.217 +0xd4	U+05f0
 139.218 +0xd5	U+05f1
 139.219 +0xd6	U+05f2
 139.220 +0xd7	U+05f3
 139.221 +0xd8	U+05f4
 139.222 +0xd9	U+fffd
 139.223 +0xda	U+fffd
 139.224 +0xdb	U+fffd
 139.225 +0xdc	U+fffd
 139.226 +0xdd	U+fffd
 139.227 +0xde	U+fffd
 139.228 +0xdf	U+fffd
 139.229 +0xe0	U+05d0
 139.230 +0xe1	U+05d1
 139.231 +0xe2	U+05d2
 139.232 +0xe3	U+05d3
 139.233 +0xe4	U+05d4
 139.234 +0xe5	U+05d5
 139.235 +0xe6	U+05d6
 139.236 +0xe7	U+05d7
 139.237 +0xe8	U+05d8
 139.238 +0xe9	U+05d9
 139.239 +0xea	U+05da
 139.240 +0xeb	U+05db
 139.241 +0xec	U+05dc
 139.242 +0xed	U+05dd
 139.243 +0xee	U+05de
 139.244 +0xef	U+05df
 139.245 +0xf0	U+05e0
 139.246 +0xf1	U+05e1
 139.247 +0xf2	U+05e2
 139.248 +0xf3	U+05e3
 139.249 +0xf4	U+05e4
 139.250 +0xf5	U+05e5
 139.251 +0xf6	U+05e6
 139.252 +0xf7	U+05e7
 139.253 +0xf8	U+05e8
 139.254 +0xf9	U+05e9
 139.255 +0xfa	U+05ea
 139.256 +0xfb	U+fffd
 139.257 +0xfc	U+fffd
 139.258 +0xfd	U+200e
 139.259 +0xfe	U+200f
 139.260 +0xff	U+fffd
   140.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   140.2 +++ b/make/tools/CharsetMapping/MS1256.map	Tue Jan 20 09:42:07 2009 -0800
   140.3 @@ -0,0 +1,257 @@
   140.4 +#Generated from MS1256.java
   140.5 +0x00	U+0000
   140.6 +0x01	U+0001
   140.7 +0x02	U+0002
   140.8 +0x03	U+0003
   140.9 +0x04	U+0004
  140.10 +0x05	U+0005
  140.11 +0x06	U+0006
  140.12 +0x07	U+0007
  140.13 +0x08	U+0008
  140.14 +0x09	U+0009
  140.15 +0x0a	U+000a
  140.16 +0x0b	U+000b
  140.17 +0x0c	U+000c
  140.18 +0x0d	U+000d
  140.19 +0x0e	U+000e
  140.20 +0x0f	U+000f
  140.21 +0x10	U+0010
  140.22 +0x11	U+0011
  140.23 +0x12	U+0012
  140.24 +0x13	U+0013
  140.25 +0x14	U+0014
  140.26 +0x15	U+0015
  140.27 +0x16	U+0016
  140.28 +0x17	U+0017
  140.29 +0x18	U+0018
  140.30 +0x19	U+0019
  140.31 +0x1a	U+001a
  140.32 +0x1b	U+001b
  140.33 +0x1c	U+001c
  140.34 +0x1d	U+001d
  140.35 +0x1e	U+001e
  140.36 +0x1f	U+001f
  140.37 +0x20	U+0020
  140.38 +0x21	U+0021
  140.39 +0x22	U+0022
  140.40 +0x23	U+0023
  140.41 +0x24	U+0024
  140.42 +0x25	U+0025
  140.43 +0x26	U+0026
  140.44 +0x27	U+0027
  140.45 +0x28	U+0028
  140.46 +0x29	U+0029
  140.47 +0x2a	U+002a
  140.48 +0x2b	U+002b
  140.49 +0x2c	U+002c
  140.50 +0x2d	U+002d
  140.51 +0x2e	U+002e
  140.52 +0x2f	U+002f
  140.53 +0x30	U+0030
  140.54 +0x31	U+0031
  140.55 +0x32	U+0032
  140.56 +0x33	U+0033
  140.57 +0x34	U+0034
  140.58 +0x35	U+0035
  140.59 +0x36	U+0036
  140.60 +0x37	U+0037
  140.61 +0x38	U+0038
  140.62 +0x39	U+0039
  140.63 +0x3a	U+003a
  140.64 +0x3b	U+003b
  140.65 +0x3c	U+003c
  140.66 +0x3d	U+003d
  140.67 +0x3e	U+003e
  140.68 +0x3f	U+003f
  140.69 +0x40	U+0040
  140.70 +0x41	U+0041
  140.71 +0x42	U+0042
  140.72 +0x43	U+0043
  140.73 +0x44	U+0044
  140.74 +0x45	U+0045
  140.75 +0x46	U+0046
  140.76 +0x47	U+0047
  140.77 +0x48	U+0048
  140.78 +0x49	U+0049
  140.79 +0x4a	U+004a
  140.80 +0x4b	U+004b
  140.81 +0x4c	U+004c
  140.82 +0x4d	U+004d
  140.83 +0x4e	U+004e
  140.84 +0x4f	U+004f
  140.85 +0x50	U+0050
  140.86 +0x51	U+0051
  140.87 +0x52	U+0052
  140.88 +0x53	U+0053
  140.89 +0x54	U+0054
  140.90 +0x55	U+0055
  140.91 +0x56	U+0056
  140.92 +0x57	U+0057
  140.93 +0x58	U+0058
  140.94 +0x59	U+0059
  140.95 +0x5a	U+005a
  140.96 +0x5b	U+005b
  140.97 +0x5c	U+005c
  140.98 +0x5d	U+005d
  140.99 +0x5e	U+005e
 140.100 +0x5f	U+005f
 140.101 +0x60	U+0060
 140.102 +0x61	U+0061
 140.103 +0x62	U+0062
 140.104 +0x63	U+0063
 140.105 +0x64	U+0064
 140.106 +0x65	U+0065
 140.107 +0x66	U+0066
 140.108 +0x67	U+0067
 140.109 +0x68	U+0068
 140.110 +0x69	U+0069
 140.111 +0x6a	U+006a
 140.112 +0x6b	U+006b
 140.113 +0x6c	U+006c
 140.114 +0x6d	U+006d
 140.115 +0x6e	U+006e
 140.116 +0x6f	U+006f
 140.117 +0x70	U+0070
 140.118 +0x71	U+0071
 140.119 +0x72	U+0072
 140.120 +0x73	U+0073
 140.121 +0x74	U+0074
 140.122 +0x75	U+0075
 140.123 +0x76	U+0076
 140.124 +0x77	U+0077
 140.125 +0x78	U+0078
 140.126 +0x79	U+0079
 140.127 +0x7a	U+007a
 140.128 +0x7b	U+007b
 140.129 +0x7c	U+007c
 140.130 +0x7d	U+007d
 140.131 +0x7e	U+007e
 140.132 +0x7f	U+007f
 140.133 +0x80	U+20ac
 140.134 +0x81	U+067e
 140.135 +0x82	U+201a
 140.136 +0x83	U+0192
 140.137 +0x84	U+201e
 140.138 +0x85	U+2026
 140.139 +0x86	U+2020
 140.140 +0x87	U+2021
 140.141 +0x88	U+02c6
 140.142 +0x89	U+2030
 140.143 +0x8a	U+0679
 140.144 +0x8b	U+2039
 140.145 +0x8c	U+0152
 140.146 +0x8d	U+0686
 140.147 +0x8e	U+0698
 140.148 +0x8f	U+0688
 140.149 +0x90	U+06af
 140.150 +0x91	U+2018
 140.151 +0x92	U+2019
 140.152 +0x93	U+201c
 140.153 +0x94	U+201d
 140.154 +0x95	U+2022
 140.155 +0x96	U+2013
 140.156 +0x97	U+2014
 140.157 +0x98	U+06a9
 140.158 +0x99	U+2122
 140.159 +0x9a	U+0691
 140.160 +0x9b	U+203a
 140.161 +0x9c	U+0153
 140.162 +0x9d	U+200c
 140.163 +0x9e	U+200d
 140.164 +0x9f	U+06ba
 140.165 +0xa0	U+00a0
 140.166 +0xa1	U+060c
 140.167 +0xa2	U+00a2
 140.168 +0xa3	U+00a3
 140.169 +0xa4	U+00a4
 140.170 +0xa5	U+00a5
 140.171 +0xa6	U+00a6
 140.172 +0xa7	U+00a7
 140.173 +0xa8	U+00a8
 140.174 +0xa9	U+00a9
 140.175 +0xaa	U+06be
 140.176 +0xab	U+00ab
 140.177 +0xac	U+00ac
 140.178 +0xad	U+00ad
 140.179 +0xae	U+00ae
 140.180 +0xaf	U+00af
 140.181 +0xb0	U+00b0
 140.182 +0xb1	U+00b1
 140.183 +0xb2	U+00b2
 140.184 +0xb3	U+00b3
 140.185 +0xb4	U+00b4
 140.186 +0xb5	U+00b5
 140.187 +0xb6	U+00b6
 140.188 +0xb7	U+00b7
 140.189 +0xb8	U+00b8
 140.190 +0xb9	U+00b9
 140.191 +0xba	U+061b
 140.192 +0xbb	U+00bb
 140.193 +0xbc	U+00bc
 140.194 +0xbd	U+00bd
 140.195 +0xbe	U+00be
 140.196 +0xbf	U+061f
 140.197 +0xc0	U+06c1
 140.198 +0xc1	U+0621
 140.199 +0xc2	U+0622
 140.200 +0xc3	U+0623
 140.201 +0xc4	U+0624
 140.202 +0xc5	U+0625
 140.203 +0xc6	U+0626
 140.204 +0xc7	U+0627
 140.205 +0xc8	U+0628
 140.206 +0xc9	U+0629
 140.207 +0xca	U+062a
 140.208 +0xcb	U+062b
 140.209 +0xcc	U+062c
 140.210 +0xcd	U+062d
 140.211 +0xce	U+062e
 140.212 +0xcf	U+062f
 140.213 +0xd0	U+0630
 140.214 +0xd1	U+0631
 140.215 +0xd2	U+0632
 140.216 +0xd3	U+0633
 140.217 +0xd4	U+0634
 140.218 +0xd5	U+0635
 140.219 +0xd6	U+0636
 140.220 +0xd7	U+00d7
 140.221 +0xd8	U+0637
 140.222 +0xd9	U+0638
 140.223 +0xda	U+0639
 140.224 +0xdb	U+063a
 140.225 +0xdc	U+0640
 140.226 +0xdd	U+0641
 140.227 +0xde	U+0642
 140.228 +0xdf	U+0643
 140.229 +0xe0	U+00e0
 140.230 +0xe1	U+0644
 140.231 +0xe2	U+00e2
 140.232 +0xe3	U+0645
 140.233 +0xe4	U+0646
 140.234 +0xe5	U+0647
 140.235 +0xe6	U+0648
 140.236 +0xe7	U+00e7
 140.237 +0xe8	U+00e8
 140.238 +0xe9	U+00e9
 140.239 +0xea	U+00ea
 140.240 +0xeb	U+00eb
 140.241 +0xec	U+0649
 140.242 +0xed	U+064a
 140.243 +0xee	U+00ee
 140.244 +0xef	U+00ef
 140.245 +0xf0	U+064b
 140.246 +0xf1	U+064c
 140.247 +0xf2	U+064d
 140.248 +0xf3	U+064e
 140.249 +0xf4	U+00f4
 140.250 +0xf5	U+064f
 140.251 +0xf6	U+0650
 140.252 +0xf7	U+00f7
 140.253 +0xf8	U+0651
 140.254 +0xf9	U+00f9
 140.255 +0xfa	U+0652
 140.256 +0xfb	U+00fb
 140.257 +0xfc	U+00fc
 140.258 +0xfd	U+200e
 140.259 +0xfe	U+200f
 140.260 +0xff	U+06d2
   141.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   141.2 +++ b/make/tools/CharsetMapping/MS1257.map	Tue Jan 20 09:42:07 2009 -0800
   141.3 @@ -0,0 +1,257 @@
   141.4 +#Generated from MS1257.java
   141.5 +0x00	U+0000
   141.6 +0x01	U+0001
   141.7 +0x02	U+0002
   141.8 +0x03	U+0003
   141.9 +0x04	U+0004
  141.10 +0x05	U+0005
  141.11 +0x06	U+0006
  141.12 +0x07	U+0007
  141.13 +0x08	U+0008
  141.14 +0x09	U+0009
  141.15 +0x0a	U+000a
  141.16 +0x0b	U+000b
  141.17 +0x0c	U+000c
  141.18 +0x0d	U+000d
  141.19 +0x0e	U+000e
  141.20 +0x0f	U+000f
  141.21 +0x10	U+0010
  141.22 +0x11	U+0011
  141.23 +0x12	U+0012
  141.24 +0x13	U+0013
  141.25 +0x14	U+0014
  141.26 +0x15	U+0015
  141.27 +0x16	U+0016
  141.28 +0x17	U+0017
  141.29 +0x18	U+0018
  141.30 +0x19	U+0019
  141.31 +0x1a	U+001a
  141.32 +0x1b	U+001b
  141.33 +0x1c	U+001c
  141.34 +0x1d	U+001d
  141.35 +0x1e	U+001e
  141.36 +0x1f	U+001f
  141.37 +0x20	U+0020
  141.38 +0x21	U+0021
  141.39 +0x22	U+0022
  141.40 +0x23	U+0023
  141.41 +0x24	U+0024
  141.42 +0x25	U+0025
  141.43 +0x26	U+0026
  141.44 +0x27	U+0027
  141.45 +0x28	U+0028
  141.46 +0x29	U+0029
  141.47 +0x2a	U+002a
  141.48 +0x2b	U+002b
  141.49 +0x2c	U+002c
  141.50 +0x2d	U+002d
  141.51 +0x2e	U+002e
  141.52 +0x2f	U+002f
  141.53 +0x30	U+0030
  141.54 +0x31	U+0031
  141.55 +0x32	U+0032
  141.56 +0x33	U+0033
  141.57 +0x34	U+0034
  141.58 +0x35	U+0035
  141.59 +0x36	U+0036
  141.60 +0x37	U+0037
  141.61 +0x38	U+0038
  141.62 +0x39	U+0039
  141.63 +0x3a	U+003a
  141.64 +0x3b	U+003b
  141.65 +0x3c	U+003c
  141.66 +0x3d	U+003d
  141.67 +0x3e	U+003e
  141.68 +0x3f	U+003f
  141.69 +0x40	U+0040
  141.70 +0x41	U+0041
  141.71 +0x42	U+0042
  141.72 +0x43	U+0043
  141.73 +0x44	U+0044
  141.74 +0x45	U+0045
  141.75 +0x46	U+0046
  141.76 +0x47	U+0047
  141.77 +0x48	U+0048
  141.78 +0x49	U+0049
  141.79 +0x4a	U+004a
  141.80 +0x4b	U+004b
  141.81 +0x4c	U+004c
  141.82 +0x4d	U+004d
  141.83 +0x4e	U+004e
  141.84 +0x4f	U+004f
  141.85 +0x50	U+0050
  141.86 +0x51	U+0051
  141.87 +0x52	U+0052
  141.88 +0x53	U+0053
  141.89 +0x54	U+0054
  141.90 +0x55	U+0055
  141.91 +0x56	U+0056
  141.92 +0x57	U+0057
  141.93 +0x58	U+0058
  141.94 +0x59	U+0059
  141.95 +0x5a	U+005a
  141.96 +0x5b	U+005b
  141.97 +0x5c	U+005c
  141.98 +0x5d	U+005d
  141.99 +0x5e	U+005e
 141.100 +0x5f	U+005f
 141.101 +0x60	U+0060
 141.102 +0x61	U+0061
 141.103 +0x62	U+0062
 141.104 +0x63	U+0063
 141.105 +0x64	U+0064
 141.106 +0x65	U+0065
 141.107 +0x66	U+0066
 141.108 +0x67	U+0067
 141.109 +0x68	U+0068
 141.110 +0x69	U+0069
 141.111 +0x6a	U+006a
 141.112 +0x6b	U+006b
 141.113 +0x6c	U+006c
 141.114 +0x6d	U+006d
 141.115 +0x6e	U+006e
 141.116 +0x6f	U+006f
 141.117 +0x70	U+0070
 141.118 +0x71	U+0071
 141.119 +0x72	U+0072
 141.120 +0x73	U+0073
 141.121 +0x74	U+0074
 141.122 +0x75	U+0075
 141.123 +0x76	U+0076
 141.124 +0x77	U+0077
 141.125 +0x78	U+0078
 141.126 +0x79	U+0079
 141.127 +0x7a	U+007a
 141.128 +0x7b	U+007b
 141.129 +0x7c	U+007c
 141.130 +0x7d	U+007d
 141.131 +0x7e	U+007e
 141.132 +0x7f	U+007f
 141.133 +0x80	U+20ac
 141.134 +0x81	U+fffd
 141.135 +0x82	U+201a
 141.136 +0x83	U+fffd
 141.137 +0x84	U+201e
 141.138 +0x85	U+2026
 141.139 +0x86	U+2020
 141.140 +0x87	U+2021
 141.141 +0x88	U+fffd
 141.142 +0x89	U+2030
 141.143 +0x8a	U+fffd
 141.144 +0x8b	U+2039
 141.145 +0x8c	U+fffd
 141.146 +0x8d	U+00a8
 141.147 +0x8e	U+02c7
 141.148 +0x8f	U+00b8
 141.149 +0x90	U+fffd
 141.150 +0x91	U+2018
 141.151 +0x92	U+2019
 141.152 +0x93	U+201c
 141.153 +0x94	U+201d
 141.154 +0x95	U+2022
 141.155 +0x96	U+2013
 141.156 +0x97	U+2014
 141.157 +0x98	U+fffd
 141.158 +0x99	U+2122
 141.159 +0x9a	U+fffd
 141.160 +0x9b	U+203a
 141.161 +0x9c	U+fffd
 141.162 +0x9d	U+00af
 141.163 +0x9e	U+02db
 141.164 +0x9f	U+fffd
 141.165 +0xa0	U+00a0
 141.166 +0xa1	U+fffd
 141.167 +0xa2	U+00a2
 141.168 +0xa3	U+00a3
 141.169 +0xa4	U+00a4
 141.170 +0xa5	U+fffd
 141.171 +0xa6	U+00a6
 141.172 +0xa7	U+00a7
 141.173 +0xa8	U+00d8
 141.174 +0xa9	U+00a9
 141.175 +0xaa	U+0156
 141.176 +0xab	U+00ab
 141.177 +0xac	U+00ac
 141.178 +0xad	U+00ad
 141.179 +0xae	U+00ae
 141.180 +0xaf	U+00c6
 141.181 +0xb0	U+00b0
 141.182 +0xb1	U+00b1
 141.183 +0xb2	U+00b2
 141.184 +0xb3	U+00b3
 141.185 +0xb4	U+00b4
 141.186 +0xb5	U+00b5
 141.187 +0xb6	U+00b6
 141.188 +0xb7	U+00b7
 141.189 +0xb8	U+00f8
 141.190 +0xb9	U+00b9
 141.191 +0xba	U+0157
 141.192 +0xbb	U+00bb
 141.193 +0xbc	U+00bc
 141.194 +0xbd	U+00bd
 141.195 +0xbe	U+00be
 141.196 +0xbf	U+00e6
 141.197 +0xc0	U+0104
 141.198 +0xc1	U+012e
 141.199 +0xc2	U+0100
 141.200 +0xc3	U+0106
 141.201 +0xc4	U+00c4
 141.202 +0xc5	U+00c5
 141.203 +0xc6	U+0118
 141.204 +0xc7	U+0112
 141.205 +0xc8	U+010c
 141.206 +0xc9	U+00c9
 141.207 +0xca	U+0179
 141.208 +0xcb	U+0116
 141.209 +0xcc	U+0122
 141.210 +0xcd	U+0136
 141.211 +0xce	U+012a
 141.212 +0xcf	U+013b
 141.213 +0xd0	U+0160
 141.214 +0xd1	U+0143
 141.215 +0xd2	U+0145
 141.216 +0xd3	U+00d3
 141.217 +0xd4	U+014c
 141.218 +0xd5	U+00d5
 141.219 +0xd6	U+00d6
 141.220 +0xd7	U+00d7
 141.221 +0xd8	U+0172
 141.222 +0xd9	U+0141
 141.223 +0xda	U+015a
 141.224 +0xdb	U+016a
 141.225 +0xdc	U+00dc
 141.226 +0xdd	U+017b
 141.227 +0xde	U+017d
 141.228 +0xdf	U+00df
 141.229 +0xe0	U+0105
 141.230 +0xe1	U+012f
 141.231 +0xe2	U+0101
 141.232 +0xe3	U+0107
 141.233 +0xe4	U+00e4
 141.234 +0xe5	U+00e5
 141.235 +0xe6	U+0119
 141.236 +0xe7	U+0113
 141.237 +0xe8	U+010d
 141.238 +0xe9	U+00e9
 141.239 +0xea	U+017a
 141.240 +0xeb	U+0117
 141.241 +0xec	U+0123
 141.242 +0xed	U+0137
 141.243 +0xee	U+012b
 141.244 +0xef	U+013c
 141.245 +0xf0	U+0161
 141.246 +0xf1	U+0144
 141.247 +0xf2	U+0146
 141.248 +0xf3	U+00f3
 141.249 +0xf4	U+014d
 141.250 +0xf5	U+00f5
 141.251 +0xf6	U+00f6
 141.252 +0xf7	U+00f7
 141.253 +0xf8	U+0173
 141.254 +0xf9	U+0142
 141.255 +0xfa	U+015b
 141.256 +0xfb	U+016b
 141.257 +0xfc	U+00fc
 141.258 +0xfd	U+017c
 141.259 +0xfe	U+017e
 141.260 +0xff	U+02d9
   142.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   142.2 +++ b/make/tools/CharsetMapping/MS1258.map	Tue Jan 20 09:42:07 2009 -0800
   142.3 @@ -0,0 +1,257 @@
   142.4 +#Generated from MS1258.java
   142.5 +0x00	U+0000
   142.6 +0x01	U+0001
   142.7 +0x02	U+0002
   142.8 +0x03	U+0003
   142.9 +0x04	U+0004
  142.10 +0x05	U+0005
  142.11 +0x06	U+0006
  142.12 +0x07	U+0007
  142.13 +0x08	U+0008
  142.14 +0x09	U+0009
  142.15 +0x0a	U+000a
  142.16 +0x0b	U+000b
  142.17 +0x0c	U+000c
  142.18 +0x0d	U+000d
  142.19 +0x0e	U+000e
  142.20 +0x0f	U+000f
  142.21 +0x10	U+0010
  142.22 +0x11	U+0011
  142.23 +0x12	U+0012
  142.24 +0x13	U+0013
  142.25 +0x14	U+0014
  142.26 +0x15	U+0015
  142.27 +0x16	U+0016
  142.28 +0x17	U+0017
  142.29 +0x18	U+0018
  142.30 +0x19	U+0019
  142.31 +0x1a	U+001a
  142.32 +0x1b	U+001b
  142.33 +0x1c	U+001c
  142.34 +0x1d	U+001d
  142.35 +0x1e	U+001e
  142.36 +0x1f	U+001f
  142.37 +0x20	U+0020
  142.38 +0x21	U+0021
  142.39 +0x22	U+0022
  142.40 +0x23	U+0023
  142.41 +0x24	U+0024
  142.42 +0x25	U+0025
  142.43 +0x26	U+0026
  142.44 +0x27	U+0027
  142.45 +0x28	U+0028
  142.46 +0x29	U+0029
  142.47 +0x2a	U+002a
  142.48 +0x2b	U+002b
  142.49 +0x2c	U+002c
  142.50 +0x2d	U+002d
  142.51 +0x2e	U+002e
  142.52 +0x2f	U+002f
  142.53 +0x30	U+0030
  142.54 +0x31	U+0031
  142.55 +0x32	U+0032
  142.56 +0x33	U+0033
  142.57 +0x34	U+0034
  142.58 +0x35	U+0035
  142.59 +0x36	U+0036
  142.60 +0x37	U+0037
  142.61 +0x38	U+0038
  142.62 +0x39	U+0039
  142.63 +0x3a	U+003a
  142.64 +0x3b	U+003b
  142.65 +0x3c	U+003c
  142.66 +0x3d	U+003d
  142.67 +0x3e	U+003e
  142.68 +0x3f	U+003f
  142.69 +0x40	U+0040
  142.70 +0x41	U+0041
  142.71 +0x42	U+0042
  142.72 +0x43	U+0043
  142.73 +0x44	U+0044
  142.74 +0x45	U+0045
  142.75 +0x46	U+0046
  142.76 +0x47	U+0047
  142.77 +0x48	U+0048
  142.78 +0x49	U+0049
  142.79 +0x4a	U+004a
  142.80 +0x4b	U+004b
  142.81 +0x4c	U+004c
  142.82 +0x4d	U+004d
  142.83 +0x4e	U+004e
  142.84 +0x4f	U+004f
  142.85 +0x50	U+0050
  142.86 +0x51	U+0051
  142.87 +0x52	U+0052
  142.88 +0x53	U+0053
  142.89 +0x54	U+0054
  142.90 +0x55	U+0055
  142.91 +0x56	U+0056
  142.92 +0x57	U+0057
  142.93 +0x58	U+0058
  142.94 +0x59	U+0059
  142.95 +0x5a	U+005a
  142.96 +0x5b	U+005b
  142.97 +0x5c	U+005c
  142.98 +0x5d	U+005d
  142.99 +0x5e	U+005e
 142.100 +0x5f	U+005f
 142.101 +0x60	U+0060
 142.102 +0x61	U+0061
 142.103 +0x62	U+0062
 142.104 +0x63	U+0063
 142.105 +0x64	U+0064
 142.106 +0x65	U+0065
 142.107 +0x66	U+0066
 142.108 +0x67	U+0067
 142.109 +0x68	U+0068
 142.110 +0x69	U+0069
 142.111 +0x6a	U+006a
 142.112 +0x6b	U+006b
 142.113 +0x6c	U+006c
 142.114 +0x6d	U+006d
 142.115 +0x6e	U+006e
 142.116 +0x6f	U+006f
 142.117 +0x70	U+0070
 142.118 +0x71	U+0071
 142.119 +0x72	U+0072
 142.120 +0x73	U+0073
 142.121 +0x74	U+0074
 142.122 +0x75	U+0075
 142.123 +0x76	U+0076
 142.124 +0x77	U+0077
 142.125 +0x78	U+0078
 142.126 +0x79	U+0079
 142.127 +0x7a	U+007a
 142.128 +0x7b	U+007b
 142.129 +0x7c	U+007c
 142.130 +0x7d	U+007d
 142.131 +0x7e	U+007e
 142.132 +0x7f	U+007f
 142.133 +0x80	U+20ac
 142.134 +0x81	U+fffd
 142.135 +0x82	U+201a
 142.136 +0x83	U+0192
 142.137 +0x84	U+201e
 142.138 +0x85	U+2026
 142.139 +0x86	U+2020
 142.140 +0x87	U+2021
 142.141 +0x88	U+02c6
 142.142 +0x89	U+2030
 142.143 +0x8a	U+fffd
 142.144 +0x8b	U+2039
 142.145 +0x8c	U+0152
 142.146 +0x8d	U+fffd
 142.147 +0x8e	U+fffd
 142.148 +0x8f	U+fffd
 142.149 +0x90	U+fffd
 142.150 +0x91	U+2018
 142.151 +0x92	U+2019
 142.152 +0x93	U+201c
 142.153 +0x94	U+201d
 142.154 +0x95	U+2022
 142.155 +0x96	U+2013
 142.156 +0x97	U+2014
 142.157 +0x98	U+02dc
 142.158 +0x99	U+2122
 142.159 +0x9a	U+fffd
 142.160 +0x9b	U+203a
 142.161 +0x9c	U+0153
 142.162 +0x9d	U+fffd
 142.163 +0x9e	U+fffd
 142.164 +0x9f	U+0178
 142.165 +0xa0	U+00a0
 142.166 +0xa1	U+00a1
 142.167 +0xa2	U+00a2
 142.168 +0xa3	U+00a3
 142.169 +0xa4	U+00a4
 142.170 +0xa5	U+00a5
 142.171 +0xa6	U+00a6
 142.172 +0xa7	U+00a7
 142.173 +0xa8	U+00a8
 142.174 +0xa9	U+00a9
 142.175 +0xaa	U+00aa
 142.176 +0xab	U+00ab
 142.177 +0xac	U+00ac
 142.178 +0xad	U+00ad
 142.179 +0xae	U+00ae
 142.180 +0xaf	U+00af
 142.181 +0xb0	U+00b0
 142.182 +0xb1	U+00b1
 142.183 +0xb2	U+00b2
 142.184 +0xb3	U+00b3
 142.185 +0xb4	U+00b4
 142.186 +0xb5	U+00b5
 142.187 +0xb6	U+00b6
 142.188 +0xb7	U+00b7
 142.189 +0xb8	U+00b8
 142.190 +0xb9	U+00b9
 142.191 +0xba	U+00ba
 142.192 +0xbb	U+00bb
 142.193 +0xbc	U+00bc
 142.194 +0xbd	U+00bd
 142.195 +0xbe	U+00be
 142.196 +0xbf	U+00bf
 142.197 +0xc0	U+00c0
 142.198 +0xc1	U+00c1
 142.199 +0xc2	U+00c2
 142.200 +0xc3	U+0102
 142.201 +0xc4	U+00c4
 142.202 +0xc5	U+00c5
 142.203 +0xc6	U+00c6
 142.204 +0xc7	U+00c7
 142.205 +0xc8	U+00c8
 142.206 +0xc9	U+00c9
 142.207 +0xca	U+00ca
 142.208 +0xcb	U+00cb
 142.209 +0xcc	U+0300
 142.210 +0xcd	U+00cd
 142.211 +0xce	U+00ce
 142.212 +0xcf	U+00cf
 142.213 +0xd0	U+0110
 142.214 +0xd1	U+00d1
 142.215 +0xd2	U+0309
 142.216 +0xd3	U+00d3
 142.217 +0xd4	U+00d4
 142.218 +0xd5	U+01a0
 142.219 +0xd6	U+00d6
 142.220 +0xd7	U+00d7
 142.221 +0xd8	U+00d8
 142.222 +0xd9	U+00d9
 142.223 +0xda	U+00da
 142.224 +0xdb	U+00db
 142.225 +0xdc	U+00dc
 142.226 +0xdd	U+01af
 142.227 +0xde	U+0303
 142.228 +0xdf	U+00df
 142.229 +0xe0	U+00e0
 142.230 +0xe1	U+00e1
 142.231 +0xe2	U+00e2
 142.232 +0xe3	U+0103
 142.233 +0xe4	U+00e4
 142.234 +0xe5	U+00e5
 142.235 +0xe6	U+00e6
 142.236 +0xe7	U+00e7
 142.237 +0xe8	U+00e8
 142.238 +0xe9	U+00e9
 142.239 +0xea	U+00ea
 142.240 +0xeb	U+00eb
 142.241 +0xec	U+0301
 142.242 +0xed	U+00ed
 142.243 +0xee	U+00ee
 142.244 +0xef	U+00ef
 142.245 +0xf0	U+0111
 142.246 +0xf1	U+00f1
 142.247 +0xf2	U+0323
 142.248 +0xf3	U+00f3
 142.249 +0xf4	U+00f4
 142.250 +0xf5	U+01a1
 142.251 +0xf6	U+00f6
 142.252 +0xf7	U+00f7
 142.253 +0xf8	U+00f8
 142.254 +0xf9	U+00f9
 142.255 +0xfa	U+00fa
 142.256 +0xfb	U+00fb
 142.257 +0xfc	U+00fc
 142.258 +0xfd	U+01b0
 142.259 +0xfe	U+20ab
 142.260 +0xff	U+00ff
   143.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   143.2 +++ b/make/tools/CharsetMapping/MS874.map	Tue Jan 20 09:42:07 2009 -0800
   143.3 @@ -0,0 +1,257 @@
   143.4 +#Generated from MS874.java
   143.5 +0x00	U+0000
   143.6 +0x01	U+0001
   143.7 +0x02	U+0002
   143.8 +0x03	U+0003
   143.9 +0x04	U+0004
  143.10 +0x05	U+0005
  143.11 +0x06	U+0006
  143.12 +0x07	U+0007
  143.13 +0x08	U+0008
  143.14 +0x09	U+0009
  143.15 +0x0a	U+000a
  143.16 +0x0b	U+000b
  143.17 +0x0c	U+000c
  143.18 +0x0d	U+000d
  143.19 +0x0e	U+000e
  143.20 +0x0f	U+000f
  143.21 +0x10	U+0010
  143.22 +0x11	U+0011
  143.23 +0x12	U+0012
  143.24 +0x13	U+0013
  143.25 +0x14	U+0014
  143.26 +0x15	U+0015
  143.27 +0x16	U+0016
  143.28 +0x17	U+0017
  143.29 +0x18	U+0018
  143.30 +0x19	U+0019
  143.31 +0x1a	U+001a
  143.32 +0x1b	U+001b
  143.33 +0x1c	U+001c
  143.34 +0x1d	U+001d
  143.35 +0x1e	U+001e
  143.36 +0x1f	U+001f
  143.37 +0x20	U+0020
  143.38 +0x21	U+0021
  143.39 +0x22	U+0022
  143.40 +0x23	U+0023
  143.41 +0x24	U+0024
  143.42 +0x25	U+0025
  143.43 +0x26	U+0026
  143.44 +0x27	U+0027
  143.45 +0x28	U+0028
  143.46 +0x29	U+0029
  143.47 +0x2a	U+002a
  143.48 +0x2b	U+002b
  143.49 +0x2c	U+002c
  143.50 +0x2d	U+002d
  143.51 +0x2e	U+002e
  143.52 +0x2f	U+002f
  143.53 +0x30	U+0030
  143.54 +0x31	U+0031
  143.55 +0x32	U+0032
  143.56 +0x33	U+0033
  143.57 +0x34	U+0034
  143.58 +0x35	U+0035
  143.59 +0x36	U+0036
  143.60 +0x37	U+0037
  143.61 +0x38	U+0038
  143.62 +0x39	U+0039
  143.63 +0x3a	U+003a
  143.64 +0x3b	U+003b
  143.65 +0x3c	U+003c
  143.66 +0x3d	U+003d
  143.67 +0x3e	U+003e
  143.68 +0x3f	U+003f
  143.69 +0x40	U+0040
  143.70 +0x41	U+0041
  143.71 +0x42	U+0042
  143.72 +0x43	U+0043
  143.73 +0x44	U+0044
  143.74 +0x45	U+0045
  143.75 +0x46	U+0046
  143.76 +0x47	U+0047
  143.77 +0x48	U+0048
  143.78 +0x49	U+0049
  143.79 +0x4a	U+004a
  143.80 +0x4b	U+004b
  143.81 +0x4c	U+004c
  143.82 +0x4d	U+004d
  143.83 +0x4e	U+004e
  143.84 +0x4f	U+004f
  143.85 +0x50	U+0050
  143.86 +0x51	U+0051
  143.87 +0x52	U+0052
  143.88 +0x53	U+0053
  143.89 +0x54	U+0054
  143.90 +0x55	U+0055
  143.91 +0x56	U+0056
  143.92 +0x57	U+0057
  143.93 +0x58	U+0058
  143.94 +0x59	U+0059
  143.95 +0x5a	U+005a
  143.96 +0x5b	U+005b
  143.97 +0x5c	U+005c
  143.98 +0x5d	U+005d
  143.99 +0x5e	U+005e
 143.100 +0x5f	U+005f
 143.101 +0x60	U+0060
 143.102 +0x61	U+0061
 143.103 +0x62	U+0062
 143.104 +0x63	U+0063
 143.105 +0x64	U+0064
 143.106 +0x65	U+0065
 143.107 +0x66	U+0066
 143.108 +0x67	U+0067
 143.109 +0x68	U+0068
 143.110 +0x69	U+0069
 143.111 +0x6a	U+006a
 143.112 +0x6b	U+006b
 143.113 +0x6c	U+006c
 143.114 +0x6d	U+006d
 143.115 +0x6e	U+006e
 143.116 +0x6f	U+006f
 143.117 +0x70	U+0070
 143.118 +0x71	U+0071
 143.119 +0x72	U+0072
 143.120 +0x73	U+0073
 143.121 +0x74	U+0074
 143.122 +0x75	U+0075
 143.123 +0x76	U+0076
 143.124 +0x77	U+0077
 143.125 +0x78	U+0078
 143.126 +0x79	U+0079
 143.127 +0x7a	U+007a
 143.128 +0x7b	U+007b
 143.129 +0x7c	U+007c
 143.130 +0x7d	U+007d
 143.131 +0x7e	U+007e
 143.132 +0x7f	U+007f
 143.133 +0x80	U+20ac
 143.134 +0x81	U+fffd
 143.135 +0x82	U+fffd
 143.136 +0x83	U+fffd
 143.137 +0x84	U+fffd
 143.138 +0x85	U+2026
 143.139 +0x86	U+fffd
 143.140 +0x87	U+fffd
 143.141 +0x88	U+fffd
 143.142 +0x89	U+fffd
 143.143 +0x8a	U+fffd
 143.144 +0x8b	U+fffd
 143.145 +0x8c	U+fffd
 143.146 +0x8d	U+fffd
 143.147 +0x8e	U+fffd
 143.148 +0x8f	U+fffd
 143.149 +0x90	U+fffd
 143.150 +0x91	U+2018
 143.151 +0x92	U+2019
 143.152 +0x93	U+201c
 143.153 +0x94	U+201d
 143.154 +0x95	U+2022
 143.155 +0x96	U+2013
 143.156 +0x97	U+2014
 143.157 +0x98	U+fffd
 143.158 +0x99	U+fffd
 143.159 +0x9a	U+fffd
 143.160 +0x9b	U+fffd
 143.161 +0x9c	U+fffd
 143.162 +0x9d	U+fffd
 143.163 +0x9e	U+fffd
 143.164 +0x9f	U+fffd
 143.165 +0xa0	U+00a0
 143.166 +0xa1	U+0e01
 143.167 +0xa2	U+0e02
 143.168 +0xa3	U+0e03
 143.169 +0xa4	U+0e04
 143.170 +0xa5	U+0e05
 143.171 +0xa6	U+0e06
 143.172 +0xa7	U+0e07
 143.173 +0xa8	U+0e08
 143.174 +0xa9	U+0e09
 143.175 +0xaa	U+0e0a
 143.176 +0xab	U+0e0b
 143.177 +0xac	U+0e0c
 143.178 +0xad	U+0e0d
 143.179 +0xae	U+0e0e
 143.180 +0xaf	U+0e0f
 143.181 +0xb0	U+0e10
 143.182 +0xb1	U+0e11
 143.183 +0xb2	U+0e12
 143.184 +0xb3	U+0e13
 143.185 +0xb4	U+0e14
 143.186 +0xb5	U+0e15
 143.187 +0xb6	U+0e16
 143.188 +0xb7	U+0e17
 143.189 +0xb8	U+0e18
 143.190 +0xb9	U+0e19
 143.191 +0xba	U+0e1a
 143.192 +0xbb	U+0e1b
 143.193 +0xbc	U+0e1c
 143.194 +0xbd	U+0e1d
 143.195 +0xbe	U+0e1e
 143.196 +0xbf	U+0e1f
 143.197 +0xc0	U+0e20
 143.198 +0xc1	U+0e21
 143.199 +0xc2	U+0e22
 143.200 +0xc3	U+0e23
 143.201 +0xc4	U+0e24
 143.202 +0xc5	U+0e25
 143.203 +0xc6	U+0e26
 143.204 +0xc7	U+0e27
 143.205 +0xc8	U+0e28
 143.206 +0xc9	U+0e29
 143.207 +0xca	U+0e2a
 143.208 +0xcb	U+0e2b
 143.209 +0xcc	U+0e2c
 143.210 +0xcd	U+0e2d
 143.211 +0xce	U+0e2e
 143.212 +0xcf	U+0e2f
 143.213 +0xd0	U+0e30
 143.214 +0xd1	U+0e31
 143.215 +0xd2	U+0e32
 143.216 +0xd3	U+0e33
 143.217 +0xd4	U+0e34
 143.218 +0xd5	U+0e35
 143.219 +0xd6	U+0e36
 143.220 +0xd7	U+0e37
 143.221 +0xd8	U+0e38
 143.222 +0xd9	U+0e39
 143.223 +0xda	U+0e3a
 143.224 +0xdb	U+fffd
 143.225 +0xdc	U+fffd
 143.226 +0xdd	U+fffd
 143.227 +0xde	U+fffd
 143.228 +0xdf	U+0e3f
 143.229 +0xe0	U+0e40
 143.230 +0xe1	U+0e41
 143.231 +0xe2	U+0e42
 143.232 +0xe3	U+0e43
 143.233 +0xe4	U+0e44
 143.234 +0xe5	U+0e45
 143.235 +0xe6	U+0e46
 143.236 +0xe7	U+0e47
 143.237 +0xe8	U+0e48
 143.238 +0xe9	U+0e49
 143.239 +0xea	U+0e4a
 143.240 +0xeb	U+0e4b
 143.241 +0xec	U+0e4c
 143.242 +0xed	U+0e4d
 143.243 +0xee	U+0e4e
 143.244 +0xef	U+0e4f
 143.245 +0xf0	U+0e50
 143.246 +0xf1	U+0e51
 143.247 +0xf2	U+0e52
 143.248 +0xf3	U+0e53
 143.249 +0xf4	U+0e54
 143.250 +0xf5	U+0e55
 143.251 +0xf6	U+0e56
 143.252 +0xf7	U+0e57
 143.253 +0xf8	U+0e58
 143.254 +0xf9	U+0e59
 143.255 +0xfa	U+0e5a
 143.256 +0xfb	U+0e5b
 143.257 +0xfc	U+fffd
 143.258 +0xfd	U+fffd
 143.259 +0xfe	U+fffd
 143.260 +0xff	U+fffd
   144.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   144.2 +++ b/make/tools/CharsetMapping/MacArabic.map	Tue Jan 20 09:42:07 2009 -0800
   144.3 @@ -0,0 +1,257 @@
   144.4 +#Generated from MacArabic.java
   144.5 +0x00	U+0000
   144.6 +0x01	U+0001
   144.7 +0x02	U+0002
   144.8 +0x03	U+0003
   144.9 +0x04	U+0004
  144.10 +0x05	U+0005
  144.11 +0x06	U+0006
  144.12 +0x07	U+0007
  144.13 +0x08	U+0008
  144.14 +0x09	U+0009
  144.15 +0x0a	U+000a
  144.16 +0x0b	U+000b
  144.17 +0x0c	U+000c
  144.18 +0x0d	U+000d
  144.19 +0x0e	U+000e
  144.20 +0x0f	U+000f
  144.21 +0x10	U+0010
  144.22 +0x11	U+0011
  144.23 +0x12	U+0012
  144.24 +0x13	U+0013
  144.25 +0x14	U+0014
  144.26 +0x15	U+0015
  144.27 +0x16	U+0016
  144.28 +0x17	U+0017
  144.29 +0x18	U+0018
  144.30 +0x19	U+0019
  144.31 +0x1a	U+001a
  144.32 +0x1b	U+001b
  144.33 +0x1c	U+001c
  144.34 +0x1d	U+001d
  144.35 +0x1e	U+001e
  144.36 +0x1f	U+001f
  144.37 +0x20	U+0020
  144.38 +0x21	U+0021
  144.39 +0x22	U+0022
  144.40 +0x23	U+0023
  144.41 +0x24	U+0024
  144.42 +0x25	U+0025
  144.43 +0x26	U+0026
  144.44 +0x27	U+0027
  144.45 +0x28	U+0028
  144.46 +0x29	U+0029
  144.47 +0x2a	U+002a
  144.48 +0x2b	U+002b
  144.49 +0x2c	U+002c
  144.50 +0x2d	U+002d
  144.51 +0x2e	U+002e
  144.52 +0x2f	U+002f
  144.53 +0x30	U+0030
  144.54 +0x31	U+0031
  144.55 +0x32	U+0032
  144.56 +0x33	U+0033
  144.57 +0x34	U+0034
  144.58 +0x35	U+0035
  144.59 +0x36	U+0036
  144.60 +0x37	U+0037
  144.61 +0x38	U+0038
  144.62 +0x39	U+0039
  144.63 +0x3a	U+003a
  144.64 +0x3b	U+003b
  144.65 +0x3c	U+003c
  144.66 +0x3d	U+003d
  144.67 +0x3e	U+003e
  144.68 +0x3f	U+003f
  144.69 +0x40	U+0040
  144.70 +0x41	U+0041
  144.71 +0x42	U+0042
  144.72 +0x43	U+0043
  144.73 +0x44	U+0044
  144.74 +0x45	U+0045
  144.75 +0x46	U+0046
  144.76 +0x47	U+0047
  144.77 +0x48	U+0048
  144.78 +0x49	U+0049
  144.79 +0x4a	U+004a
  144.80 +0x4b	U+004b
  144.81 +0x4c	U+004c
  144.82 +0x4d	U+004d
  144.83 +0x4e	U+004e
  144.84 +0x4f	U+004f
  144.85 +0x50	U+0050
  144.86 +0x51	U+0051
  144.87 +0x52	U+0052
  144.88 +0x53	U+0053
  144.89 +0x54	U+0054
  144.90 +0x55	U+0055
  144.91 +0x56	U+0056
  144.92 +0x57	U+0057
  144.93 +0x58	U+0058
  144.94 +0x59	U+0059
  144.95 +0x5a	U+005a
  144.96 +0x5b	U+005b
  144.97 +0x5c	U+005c
  144.98 +0x5d	U+005d
  144.99 +0x5e	U+005e
 144.100 +0x5f	U+005f
 144.101 +0x60	U+0060
 144.102 +0x61	U+0061
 144.103 +0x62	U+0062
 144.104 +0x63	U+0063
 144.105 +0x64	U+0064
 144.106 +0x65	U+0065
 144.107 +0x66	U+0066
 144.108 +0x67	U+0067
 144.109 +0x68	U+0068
 144.110 +0x69	U+0069
 144.111 +0x6a	U+006a
 144.112 +0x6b	U+006b
 144.113 +0x6c	U+006c
 144.114 +0x6d	U+006d
 144.115 +0x6e	U+006e
 144.116 +0x6f	U+006f
 144.117 +0x70	U+0070
 144.118 +0x71	U+0071
 144.119 +0x72	U+0072
 144.120 +0x73	U+0073
 144.121 +0x74	U+0074
 144.122 +0x75	U+0075
 144.123 +0x76	U+0076
 144.124 +0x77	U+0077
 144.125 +0x78	U+0078
 144.126 +0x79	U+0079
 144.127 +0x7a	U+007a
 144.128 +0x7b	U+007b
 144.129 +0x7c	U+007c
 144.130 +0x7d	U+007d
 144.131 +0x7e	U+007e
 144.132 +0x7f	U+007f
 144.133 +0x80	U+00c4
 144.134 +0x81	U+00a0
 144.135 +0x82	U+00c7
 144.136 +0x83	U+00c9
 144.137 +0x84	U+00d1
 144.138 +0x85	U+00d6
 144.139 +0x86	U+00dc
 144.140 +0x87	U+00e1
 144.141 +0x88	U+00e0
 144.142 +0x89	U+00e2
 144.143 +0x8a	U+00e4
 144.144 +0x8b	U+06ba
 144.145 +0x8c	U+00ab
 144.146 +0x8d	U+00e7
 144.147 +0x8e	U+00e9
 144.148 +0x8f	U+00e8
 144.149 +0x90	U+00ea
 144.150 +0x91	U+00eb
 144.151 +0x92	U+00ed
 144.152 +0x93	U+2026
 144.153 +0x94	U+00ee
 144.154 +0x95	U+00ef
 144.155 +0x96	U+00f1
 144.156 +0x97	U+00f3
 144.157 +0x98	U+00bb
 144.158 +0x99	U+00f4
 144.159 +0x9a	U+00f6
 144.160 +0x9b	U+00f7
 144.161 +0x9c	U+00fa
 144.162 +0x9d	U+00f9
 144.163 +0x9e	U+00fb
 144.164 +0x9f	U+00fc
 144.165 +0xa0	U+fffd
 144.166 +0xa1	U+fffd
 144.167 +0xa2	U+fffd
 144.168 +0xa3	U+fffd
 144.169 +0xa4	U+fffd
 144.170 +0xa5	U+066a
 144.171 +0xa6	U+fffd
 144.172 +0xa7	U+fffd
 144.173 +0xa8	U+fffd
 144.174 +0xa9	U+fffd
 144.175 +0xaa	U+fffd
 144.176 +0xab	U+fffd
 144.177 +0xac	U+060c
 144.178 +0xad	U+fffd
 144.179 +0xae	U+fffd
 144.180 +0xaf	U+fffd
 144.181 +0xb0	U+0660
 144.182 +0xb1	U+0661
 144.183 +0xb2	U+0662
 144.184 +0xb3	U+0663
 144.185 +0xb4	U+0664
 144.186 +0xb5	U+0665
 144.187 +0xb6	U+0666
 144.188 +0xb7	U+0667
 144.189 +0xb8	U+0668
 144.190 +0xb9	U+0669
 144.191 +0xba	U+fffd
 144.192 +0xbb	U+061b
 144.193 +0xbc	U+fffd
 144.194 +0xbd	U+fffd
 144.195 +0xbe	U+fffd
 144.196 +0xbf	U+061f
 144.197 +0xc0	U+066d
 144.198 +0xc1	U+0621
 144.199 +0xc2	U+0622
 144.200 +0xc3	U+0623
 144.201 +0xc4	U+0624
 144.202 +0xc5	U+0625
 144.203 +0xc6	U+0626
 144.204 +0xc7	U+0627
 144.205 +0xc8	U+0628
 144.206 +0xc9	U+0629
 144.207 +0xca	U+062a
 144.208 +0xcb	U+062b
 144.209 +0xcc	U+062c
 144.210 +0xcd	U+062d
 144.211 +0xce	U+062e
 144.212 +0xcf	U+062f
 144.213 +0xd0	U+0630
 144.214 +0xd1	U+0631
 144.215 +0xd2	U+0632
 144.216 +0xd3	U+0633
 144.217 +0xd4	U+0634
 144.218 +0xd5	U+0635
 144.219 +0xd6	U+0636
 144.220 +0xd7	U+0637
 144.221 +0xd8	U+0638
 144.222 +0xd9	U+0639
 144.223 +0xda	U+063a
 144.224 +0xdb	U+fffd
 144.225 +0xdc	U+fffd
 144.226 +0xdd	U+fffd
 144.227 +0xde	U+fffd
 144.228 +0xdf	U+fffd
 144.229 +0xe0	U+0640
 144.230 +0xe1	U+0641
 144.231 +0xe2	U+0642
 144.232 +0xe3	U+0643
 144.233 +0xe4	U+0644
 144.234 +0xe5	U+0645
 144.235 +0xe6	U+0646
 144.236 +0xe7	U+0647
 144.237 +0xe8	U+0648
 144.238 +0xe9	U+0649
 144.239 +0xea	U+064a
 144.240 +0xeb	U+064b
 144.241 +0xec	U+064c
 144.242 +0xed	U+064d
 144.243 +0xee	U+064e
 144.244 +0xef	U+064f
 144.245 +0xf0	U+0650
 144.246 +0xf1	U+0651
 144.247 +0xf2	U+0652
 144.248 +0xf3	U+067e
 144.249 +0xf4	U+0679
 144.250 +0xf5	U+0686
 144.251 +0xf6	U+06d5
 144.252 +0xf7	U+06a4
 144.253 +0xf8	U+06af
 144.254 +0xf9	U+0688
 144.255 +0xfa	U+0691
 144.256 +0xfb	U+fffd
 144.257 +0xfc	U+fffd
 144.258 +0xfd	U+fffd
 144.259 +0xfe	U+0698
 144.260 +0xff	U+06d2
   145.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   145.2 +++ b/make/tools/CharsetMapping/MacCentralEurope.map	Tue Jan 20 09:42:07 2009 -0800
   145.3 @@ -0,0 +1,257 @@
   145.4 +#Generated from MacCentralEurope.java
   145.5 +0x00	U+0000
   145.6 +0x01	U+0001
   145.7 +0x02	U+0002
   145.8 +0x03	U+0003
   145.9 +0x04	U+0004
  145.10 +0x05	U+0005
  145.11 +0x06	U+0006
  145.12 +0x07	U+0007
  145.13 +0x08	U+0008
  145.14 +0x09	U+0009
  145.15 +0x0a	U+000a
  145.16 +0x0b	U+000b
  145.17 +0x0c	U+000c
  145.18 +0x0d	U+000d
  145.19 +0x0e	U+000e
  145.20 +0x0f	U+000f
  145.21 +0x10	U+0010
  145.22 +0x11	U+0011
  145.23 +0x12	U+0012
  145.24 +0x13	U+0013
  145.25 +0x14	U+0014
  145.26 +0x15	U+0015
  145.27 +0x16	U+0016
  145.28 +0x17	U+0017
  145.29 +0x18	U+0018
  145.30 +0x19	U+0019
  145.31 +0x1a	U+001a
  145.32 +0x1b	U+001b
  145.33 +0x1c	U+001c
  145.34 +0x1d	U+001d
  145.35 +0x1e	U+001e
  145.36 +0x1f	U+001f
  145.37 +0x20	U+0020
  145.38 +0x21	U+0021
  145.39 +0x22	U+0022
  145.40 +0x23	U+0023
  145.41 +0x24	U+0024
  145.42 +0x25	U+0025
  145.43 +0x26	U+0026
  145.44 +0x27	U+0027
  145.45 +0x28	U+0028
  145.46 +0x29	U+0029
  145.47 +0x2a	U+002a
  145.48 +0x2b	U+002b
  145.49 +0x2c	U+002c
  145.50 +0x2d	U+002d
  145.51 +0x2e	U+002e
  145.52 +0x2f	U+002f
  145.53 +0x30	U+0030
  145.54 +0x31	U+0031
  145.55 +0x32	U+0032
  145.56 +0x33	U+0033
  145.57 +0x34	U+0034
  145.58 +0x35	U+0035
  145.59 +0x36	U+0036
  145.60 +0x37	U+0037
  145.61 +0x38	U+0038
  145.62 +0x39	U+0039
  145.63 +0x3a	U+003a
  145.64 +0x3b	U+003b
  145.65 +0x3c	U+003c
  145.66 +0x3d	U+003d
  145.67 +0x3e	U+003e
  145.68 +0x3f	U+003f
  145.69 +0x40	U+0040
  145.70 +0x41	U+0041
  145.71 +0x42	U+0042
  145.72 +0x43	U+0043
  145.73 +0x44	U+0044
  145.74 +0x45	U+0045
  145.75 +0x46	U+0046
  145.76 +0x47	U+0047
  145.77 +0x48	U+0048
  145.78 +0x49	U+0049
  145.79 +0x4a	U+004a
  145.80 +0x4b	U+004b
  145.81 +0x4c	U+004c
  145.82 +0x4d	U+004d
  145.83 +0x4e	U+004e
  145.84 +0x4f	U+004f
  145.85 +0x50	U+0050
  145.86 +0x51	U+0051
  145.87 +0x52	U+0052
  145.88 +0x53	U+0053
  145.89 +0x54	U+0054
  145.90 +0x55	U+0055
  145.91 +0x56	U+0056
  145.92 +0x57	U+0057
  145.93 +0x58	U+0058
  145.94 +0x59	U+0059
  145.95 +0x5a	U+005a
  145.96 +0x5b	U+005b
  145.97 +0x5c	U+005c
  145.98 +0x5d	U+005d
  145.99 +0x5e	U+005e
 145.100 +0x5f	U+005f
 145.101 +0x60	U+0060
 145.102 +0x61	U+0061
 145.103 +0x62	U+0062
 145.104 +0x63	U+0063
 145.105 +0x64	U+0064
 145.106 +0x65	U+0065
 145.107 +0x66	U+0066
 145.108 +0x67	U+0067
 145.109 +0x68	U+0068
 145.110 +0x69	U+0069
 145.111 +0x6a	U+006a
 145.112 +0x6b	U+006b
 145.113 +0x6c	U+006c
 145.114 +0x6d	U+006d
 145.115 +0x6e	U+006e
 145.116 +0x6f	U+006f
 145.117 +0x70	U+0070
 145.118 +0x71	U+0071
 145.119 +0x72	U+0072
 145.120 +0x73	U+0073
 145.121 +0x74	U+0074
 145.122 +0x75	U+0075
 145.123 +0x76	U+0076
 145.124 +0x77	U+0077
 145.125 +0x78	U+0078
 145.126 +0x79	U+0079
 145.127 +0x7a	U+007a
 145.128 +0x7b	U+007b
 145.129 +0x7c	U+007c
 145.130 +0x7d	U+007d
 145.131 +0x7e	U+007e
 145.132 +0x7f	U+007f
 145.133 +0x80	U+00c4
 145.134 +0x81	U+0100
 145.135 +0x82	U+0101
 145.136 +0x83	U+00c9
 145.137 +0x84	U+0104
 145.138 +0x85	U+00d6
 145.139 +0x86	U+00dc
 145.140 +0x87	U+00e1
 145.141 +0x88	U+0105
 145.142 +0x89	U+010c
 145.143 +0x8a	U+00e4
 145.144 +0x8b	U+010d
 145.145 +0x8c	U+0106
 145.146 +0x8d	U+0107
 145.147 +0x8e	U+00e9
 145.148 +0x8f	U+0179
 145.149 +0x90	U+017a
 145.150 +0x91	U+010e
 145.151 +0x92	U+00ed
 145.152 +0x93	U+010f
 145.153 +0x94	U+0112
 145.154 +0x95	U+0113
 145.155 +0x96	U+0116
 145.156 +0x97	U+00f3
 145.157 +0x98	U+0117
 145.158 +0x99	U+00f4
 145.159 +0x9a	U+00f6
 145.160 +0x9b	U+00f5
 145.161 +0x9c	U+00fa
 145.162 +0x9d	U+011a
 145.163 +0x9e	U+011b
 145.164 +0x9f	U+00fc
 145.165 +0xa0	U+2020
 145.166 +0xa1	U+00b0
 145.167 +0xa2	U+0118
 145.168 +0xa3	U+00a3
 145.169 +0xa4	U+00a7
 145.170 +0xa5	U+2022
 145.171 +0xa6	U+00b6
 145.172 +0xa7	U+00df
 145.173 +0xa8	U+00ae
 145.174 +0xa9	U+00a9
 145.175 +0xaa	U+2122
 145.176 +0xab	U+0119
 145.177 +0xac	U+00a8
 145.178 +0xad	U+2260
 145.179 +0xae	U+0123
 145.180 +0xaf	U+012e
 145.181 +0xb0	U+012f
 145.182 +0xb1	U+012a
 145.183 +0xb2	U+2264
 145.184 +0xb3	U+2265
 145.185 +0xb4	U+012b
 145.186 +0xb5	U+0136
 145.187 +0xb6	U+2202
 145.188 +0xb7	U+2211
 145.189 +0xb8	U+0142
 145.190 +0xb9	U+013b
 145.191 +0xba	U+013c
 145.192 +0xbb	U+013d
 145.193 +0xbc	U+013e
 145.194 +0xbd	U+0139
 145.195 +0xbe	U+013a
 145.196 +0xbf	U+0145
 145.197 +0xc0	U+0146
 145.198 +0xc1	U+0143
 145.199 +0xc2	U+00ac
 145.200 +0xc3	U+221a
 145.201 +0xc4	U+0144
 145.202 +0xc5	U+0147
 145.203 +0xc6	U+2206
 145.204 +0xc7	U+00ab
 145.205 +0xc8	U+00bb
 145.206 +0xc9	U+2026
 145.207 +0xca	U+00a0
 145.208 +0xcb	U+0148
 145.209 +0xcc	U+0150
 145.210 +0xcd	U+00d5
 145.211 +0xce	U+0151
 145.212 +0xcf	U+014c
 145.213 +0xd0	U+2013
 145.214 +0xd1	U+2014
 145.215 +0xd2	U+201c
 145.216 +0xd3	U+201d
 145.217 +0xd4	U+2018
 145.218 +0xd5	U+2019
 145.219 +0xd6	U+00f7
 145.220 +0xd7	U+25ca
 145.221 +0xd8	U+014d
 145.222 +0xd9	U+0154
 145.223 +0xda	U+0155
 145.224 +0xdb	U+0158
 145.225 +0xdc	U+2039
 145.226 +0xdd	U+203a
 145.227 +0xde	U+0159
 145.228 +0xdf	U+0156
 145.229 +0xe0	U+0157
 145.230 +0xe1	U+0160
 145.231 +0xe2	U+201a
 145.232 +0xe3	U+201e
 145.233 +0xe4	U+0161
 145.234 +0xe5	U+015a
 145.235 +0xe6	U+015b
 145.236 +0xe7	U+00c1
 145.237 +0xe8	U+0164
 145.238 +0xe9	U+0165
 145.239 +0xea	U+00cd
 145.240 +0xeb	U+017d
 145.241 +0xec	U+017e
 145.242 +0xed	U+016a
 145.243 +0xee	U+00d3
 145.244 +0xef	U+00d4
 145.245 +0xf0	U+016b
 145.246 +0xf1	U+016e
 145.247 +0xf2	U+00da
 145.248 +0xf3	U+016f
 145.249 +0xf4	U+0170
 145.250 +0xf5	U+0171
 145.251 +0xf6	U+0172
 145.252 +0xf7	U+0173
 145.253 +0xf8	U+00dd
 145.254 +0xf9	U+00fd
 145.255 +0xfa	U+0137
 145.256 +0xfb	U+017b
 145.257 +0xfc	U+0141
 145.258 +0xfd	U+017c
 145.259 +0xfe	U+0122
 145.260 +0xff	U+02c7
   146.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   146.2 +++ b/make/tools/CharsetMapping/MacCroatian.map	Tue Jan 20 09:42:07 2009 -0800
   146.3 @@ -0,0 +1,257 @@
   146.4 +#Generated from MacCroatian.java
   146.5 +0x00	U+0000
   146.6 +0x01	U+0001
   146.7 +0x02	U+0002
   146.8 +0x03	U+0003
   146.9 +0x04	U+0004
  146.10 +0x05	U+0005
  146.11 +0x06	U+0006
  146.12 +0x07	U+0007
  146.13 +0x08	U+0008
  146.14 +0x09	U+0009
  146.15 +0x0a	U+000a
  146.16 +0x0b	U+000b
  146.17 +0x0c	U+000c
  146.18 +0x0d	U+000d
  146.19 +0x0e	U+000e
  146.20 +0x0f	U+000f
  146.21 +0x10	U+0010
  146.22 +0x11	U+0011
  146.23 +0x12	U+0012
  146.24 +0x13	U+0013
  146.25 +0x14	U+0014
  146.26 +0x15	U+0015
  146.27 +0x16	U+0016
  146.28 +0x17	U+0017
  146.29 +0x18	U+0018
  146.30 +0x19	U+0019
  146.31 +0x1a	U+001a
  146.32 +0x1b	U+001b
  146.33 +0x1c	U+001c
  146.34 +0x1d	U+001d
  146.35 +0x1e	U+001e
  146.36 +0x1f	U+001f
  146.37 +0x20	U+0020
  146.38 +0x21	U+0021
  146.39 +0x22	U+0022
  146.40 +0x23	U+0023
  146.41 +0x24	U+0024
  146.42 +0x25	U+0025
  146.43 +0x26	U+0026
  146.44 +0x27	U+0027
  146.45 +0x28	U+0028
  146.46 +0x29	U+0029
  146.47 +0x2a	U+002a
  146.48 +0x2b	U+002b
  146.49 +0x2c	U+002c
  146.50 +0x2d	U+002d
  146.51 +0x2e	U+002e
  146.52 +0x2f	U+002f
  146.53 +0x30	U+0030
  146.54 +0x31	U+0031
  146.55 +0x32	U+0032
  146.56 +0x33	U+0033
  146.57 +0x34	U+0034
  146.58 +0x35	U+0035
  146.59 +0x36	U+0036
  146.60 +0x37	U+0037
  146.61 +0x38	U+0038
  146.62 +0x39	U+0039
  146.63 +0x3a	U+003a
  146.64 +0x3b	U+003b
  146.65 +0x3c	U+003c
  146.66 +0x3d	U+003d
  146.67 +0x3e	U+003e
  146.68 +0x3f	U+003f
  146.69 +0x40	U+0040
  146.70 +0x41	U+0041
  146.71 +0x42	U+0042
  146.72 +0x43	U+0043
  146.73 +0x44	U+0044
  146.74 +0x45	U+0045
  146.75 +0x46	U+0046
  146.76 +0x47	U+0047
  146.77 +0x48	U+0048
  146.78 +0x49	U+0049
  146.79 +0x4a	U+004a
  146.80 +0x4b	U+004b
  146.81 +0x4c	U+004c
  146.82 +0x4d	U+004d
  146.83 +0x4e	U+004e
  146.84 +0x4f	U+004f
  146.85 +0x50	U+0050
  146.86 +0x51	U+0051
  146.87 +0x52	U+0052
  146.88 +0x53	U+0053
  146.89 +0x54	U+0054
  146.90 +0x55	U+0055
  146.91 +0x56	U+0056
  146.92 +0x57	U+0057
  146.93 +0x58	U+0058
  146.94 +0x59	U+0059
  146.95 +0x5a	U+005a
  146.96 +0x5b	U+005b
  146.97 +0x5c	U+005c
  146.98 +0x5d	U+005d
  146.99 +0x5e	U+005e
 146.100 +0x5f	U+005f
 146.101 +0x60	U+0060
 146.102 +0x61	U+0061
 146.103 +0x62	U+0062
 146.104 +0x63	U+0063
 146.105 +0x64	U+0064
 146.106 +0x65	U+0065
 146.107 +0x66	U+0066
 146.108 +0x67	U+0067
 146.109 +0x68	U+0068
 146.110 +0x69	U+0069
 146.111 +0x6a	U+006a
 146.112 +0x6b	U+006b
 146.113 +0x6c	U+006c
 146.114 +0x6d	U+006d
 146.115 +0x6e	U+006e
 146.116 +0x6f	U+006f
 146.117 +0x70	U+0070
 146.118 +0x71	U+0071
 146.119 +0x72	U+0072
 146.120 +0x73	U+0073
 146.121 +0x74	U+0074
 146.122 +0x75	U+0075
 146.123 +0x76	U+0076
 146.124 +0x77	U+0077
 146.125 +0x78	U+0078
 146.126 +0x79	U+0079
 146.127 +0x7a	U+007a
 146.128 +0x7b	U+007b
 146.129 +0x7c	U+007c
 146.130 +0x7d	U+007d
 146.131 +0x7e	U+007e
 146.132 +0x7f	U+007f
 146.133 +0x80	U+00c4
 146.134 +0x81	U+00c5
 146.135 +0x82	U+00c7
 146.136 +0x83	U+00c9
 146.137 +0x84	U+00d1
 146.138 +0x85	U+00d6
 146.139 +0x86	U+00dc
 146.140 +0x87	U+00e1
 146.141 +0x88	U+00e0
 146.142 +0x89	U+00e2
 146.143 +0x8a	U+00e4
 146.144 +0x8b	U+00e3
 146.145 +0x8c	U+00e5
 146.146 +0x8d	U+00e7
 146.147 +0x8e	U+00e9
 146.148 +0x8f	U+00e8
 146.149 +0x90	U+00ea
 146.150 +0x91	U+00eb
 146.151 +0x92	U+00ed
 146.152 +0x93	U+00ec
 146.153 +0x94	U+00ee
 146.154 +0x95	U+00ef
 146.155 +0x96	U+00f1
 146.156 +0x97	U+00f3
 146.157 +0x98	U+00f2
 146.158 +0x99	U+00f4
 146.159 +0x9a	U+00f6
 146.160 +0x9b	U+00f5
 146.161 +0x9c	U+00fa
 146.162 +0x9d	U+00f9
 146.163 +0x9e	U+00fb
 146.164 +0x9f	U+00fc
 146.165 +0xa0	U+2020
 146.166 +0xa1	U+00b0
 146.167 +0xa2	U+00a2
 146.168 +0xa3	U+00a3
 146.169 +0xa4	U+00a7
 146.170 +0xa5	U+2022
 146.171 +0xa6	U+00b6
 146.172 +0xa7	U+00df
 146.173 +0xa8	U+00ae
 146.174 +0xa9	U+0160
 146.175 +0xaa	U+2122
 146.176 +0xab	U+00b4
 146.177 +0xac	U+00a8
 146.178 +0xad	U+2260
 146.179 +0xae	U+017d
 146.180 +0xaf	U+00d8
 146.181 +0xb0	U+221e
 146.182 +0xb1	U+00b1
 146.183 +0xb2	U+2264
 146.184 +0xb3	U+2265
 146.185 +0xb4	U+2206
 146.186 +0xb5	U+00b5
 146.187 +0xb6	U+2202
 146.188 +0xb7	U+2211
 146.189 +0xb8	U+220f
 146.190 +0xb9	U+0161
 146.191 +0xba	U+222b
 146.192 +0xbb	U+00aa
 146.193 +0xbc	U+00ba
 146.194 +0xbd	U+2126
 146.195 +0xbe	U+017e
 146.196 +0xbf	U+00f8
 146.197 +0xc0	U+00bf
 146.198 +0xc1	U+00a1
 146.199 +0xc2	U+00ac
 146.200 +0xc3	U+221a
 146.201 +0xc4	U+0192
 146.202 +0xc5	U+2248
 146.203 +0xc6	U+0106
 146.204 +0xc7	U+00ab
 146.205 +0xc8	U+010c
 146.206 +0xc9	U+2026
 146.207 +0xca	U+00a0
 146.208 +0xcb	U+00c0
 146.209 +0xcc	U+00c3
 146.210 +0xcd	U+00d5
 146.211 +0xce	U+0152
 146.212 +0xcf	U+0153
 146.213 +0xd0	U+0110
 146.214 +0xd1	U+2014
 146.215 +0xd2	U+201c
 146.216 +0xd3	U+201d
 146.217 +0xd4	U+2018
 146.218 +0xd5	U+2019
 146.219 +0xd6	U+00f7
 146.220 +0xd7	U+25ca
 146.221 +0xd8	U+f8ff
 146.222 +0xd9	U+00a9
 146.223 +0xda	U+2044
 146.224 +0xdb	U+00a4
 146.225 +0xdc	U+2039
 146.226 +0xdd	U+203a
 146.227 +0xde	U+00c6
 146.228 +0xdf	U+00bb
 146.229 +0xe0	U+2013
 146.230 +0xe1	U+00b7
 146.231 +0xe2	U+201a
 146.232 +0xe3	U+201e
 146.233 +0xe4	U+2030
 146.234 +0xe5	U+00c2
 146.235 +0xe6	U+0107
 146.236 +0xe7	U+00c1
 146.237 +0xe8	U+010d
 146.238 +0xe9	U+00c8
 146.239 +0xea	U+00cd
 146.240 +0xeb	U+00ce
 146.241 +0xec	U+00cf
 146.242 +0xed	U+00cc
 146.243 +0xee	U+00d3
 146.244 +0xef	U+00d4
 146.245 +0xf0	U+0111
 146.246 +0xf1	U+00d2
 146.247 +0xf2	U+00da
 146.248 +0xf3	U+00db
 146.249 +0xf4	U+00d9
 146.250 +0xf5	U+0131
 146.251 +0xf6	U+02c6
 146.252 +0xf7	U+02dc
 146.253 +0xf8	U+00af
 146.254 +0xf9	U+03c0
 146.255 +0xfa	U+00cb
 146.256 +0xfb	U+02da
 146.257 +0xfc	U+00b8
 146.258 +0xfd	U+00ca
 146.259 +0xfe	U+00e6
 146.260 +0xff	U+02c7
   147.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   147.2 +++ b/make/tools/CharsetMapping/MacCyrillic.map	Tue Jan 20 09:42:07 2009 -0800
   147.3 @@ -0,0 +1,257 @@
   147.4 +#Generated from MacCyrillic.java
   147.5 +0x00	U+0000
   147.6 +0x01	U+0001
   147.7 +0x02	U+0002
   147.8 +0x03	U+0003
   147.9 +0x04	U+0004
  147.10 +0x05	U+0005
  147.11 +0x06	U+0006
  147.12 +0x07	U+0007
  147.13 +0x08	U+0008
  147.14 +0x09	U+0009
  147.15 +0x0a	U+000a
  147.16 +0x0b	U+000b
  147.17 +0x0c	U+000c
  147.18 +0x0d	U+000d
  147.19 +0x0e	U+000e
  147.20 +0x0f	U+000f
  147.21 +0x10	U+0010
  147.22 +0x11	U+0011
  147.23 +0x12	U+0012
  147.24 +0x13	U+0013
  147.25 +0x14	U+0014
  147.26 +0x15	U+0015
  147.27 +0x16	U+0016
  147.28 +0x17	U+0017
  147.29 +0x18	U+0018
  147.30 +0x19	U+0019
  147.31 +0x1a	U+001a
  147.32 +0x1b	U+001b
  147.33 +0x1c	U+001c
  147.34 +0x1d	U+001d
  147.35 +0x1e	U+001e
  147.36 +0x1f	U+001f
  147.37 +0x20	U+0020
  147.38 +0x21	U+0021
  147.39 +0x22	U+0022
  147.40 +0x23	U+0023
  147.41 +0x24	U+0024
  147.42 +0x25	U+0025
  147.43 +0x26	U+0026
  147.44 +0x27	U+0027
  147.45 +0x28	U+0028
  147.46 +0x29	U+0029
  147.47 +0x2a	U+002a
  147.48 +0x2b	U+002b
  147.49 +0x2c	U+002c
  147.50 +0x2d	U+002d
  147.51 +0x2e	U+002e
  147.52 +0x2f	U+002f
  147.53 +0x30	U+0030
  147.54 +0x31	U+0031
  147.55 +0x32	U+0032
  147.56 +0x33	U+0033
  147.57 +0x34	U+0034
  147.58 +0x35	U+0035
  147.59 +0x36	U+0036
  147.60 +0x37	U+0037
  147.61 +0x38	U+0038
  147.62 +0x39	U+0039
  147.63 +0x3a	U+003a
  147.64 +0x3b	U+003b
  147.65 +0x3c	U+003c
  147.66 +0x3d	U+003d
  147.67 +0x3e	U+003e
  147.68 +0x3f	U+003f
  147.69 +0x40	U+0040
  147.70 +0x41	U+0041
  147.71 +0x42	U+0042
  147.72 +0x43	U+0043
  147.73 +0x44	U+0044
  147.74 +0x45	U+0045
  147.75 +0x46	U+0046
  147.76 +0x47	U+0047
  147.77 +0x48	U+0048
  147.78 +0x49	U+0049
  147.79 +0x4a	U+004a
  147.80 +0x4b	U+004b
  147.81 +0x4c	U+004c
  147.82 +0x4d	U+004d
  147.83 +0x4e	U+004e
  147.84 +0x4f	U+004f
  147.85 +0x50	U+0050
  147.86 +0x51	U+0051
  147.87 +0x52	U+0052
  147.88 +0x53	U+0053
  147.89 +0x54	U+0054
  147.90 +0x55	U+0055
  147.91 +0x56	U+0056
  147.92 +0x57	U+0057
  147.93 +0x58	U+0058
  147.94 +0x59	U+0059
  147.95 +0x5a	U+005a
  147.96 +0x5b	U+005b
  147.97 +0x5c	U+005c
  147.98 +0x5d	U+005d
  147.99 +0x5e	U+005e
 147.100 +0x5f	U+005f
 147.101 +0x60	U+0060
 147.102 +0x61	U+0061
 147.103 +0x62	U+0062
 147.104 +0x63	U+0063
 147.105 +0x64	U+0064
 147.106 +0x65	U+0065
 147.107 +0x66	U+0066
 147.108 +0x67	U+0067
 147.109 +0x68	U+0068
 147.110 +0x69	U+0069
 147.111 +0x6a	U+006a
 147.112 +0x6b	U+006b
 147.113 +0x6c	U+006c
 147.114 +0x6d	U+006d
 147.115 +0x6e	U+006e
 147.116 +0x6f	U+006f
 147.117 +0x70	U+0070
 147.118 +0x71	U+0071
 147.119 +0x72	U+0072
 147.120 +0x73	U+0073
 147.121 +0x74	U+0074
 147.122 +0x75	U+0075
 147.123 +0x76	U+0076
 147.124 +0x77	U+0077
 147.125 +0x78	U+0078
 147.126 +0x79	U+0079
 147.127 +0x7a	U+007a
 147.128 +0x7b	U+007b
 147.129 +0x7c	U+007c
 147.130 +0x7d	U+007d
 147.131 +0x7e	U+007e
 147.132 +0x7f	U+007f
 147.133 +0x80	U+0410
 147.134 +0x81	U+0411
 147.135 +0x82	U+0412
 147.136 +0x83	U+0413
 147.137 +0x84	U+0414
 147.138 +0x85	U+0415
 147.139 +0x86	U+0416
 147.140 +0x87	U+0417
 147.141 +0x88	U+0418
 147.142 +0x89	U+0419
 147.143 +0x8a	U+041a
 147.144 +0x8b	U+041b
 147.145 +0x8c	U+041c
 147.146 +0x8d	U+041d
 147.147 +0x8e	U+041e
 147.148 +0x8f	U+041f
 147.149 +0x90	U+0420
 147.150 +0x91	U+0421
 147.151 +0x92	U+0422
 147.152 +0x93	U+0423
 147.153 +0x94	U+0424
 147.154 +0x95	U+0425
 147.155 +0x96	U+0426
 147.156 +0x97	U+0427
 147.157 +0x98	U+0428
 147.158 +0x99	U+0429
 147.159 +0x9a	U+042a
 147.160 +0x9b	U+042b
 147.161 +0x9c	U+042c
 147.162 +0x9d	U+042d
 147.163 +0x9e	U+042e
 147.164 +0x9f	U+042f
 147.165 +0xa0	U+2020
 147.166 +0xa1	U+00b0
 147.167 +0xa2	U+00a2
 147.168 +0xa3	U+00a3
 147.169 +0xa4	U+00a7
 147.170 +0xa5	U+2022
 147.171 +0xa6	U+00b6
 147.172 +0xa7	U+0406
 147.173 +0xa8	U+00ae
 147.174 +0xa9	U+00a9
 147.175 +0xaa	U+2122
 147.176 +0xab	U+0402
 147.177 +0xac	U+0452
 147.178 +0xad	U+2260
 147.179 +0xae	U+0403
 147.180 +0xaf	U+0453
 147.181 +0xb0	U+221e
 147.182 +0xb1	U+00b1
 147.183 +0xb2	U+2264
 147.184 +0xb3	U+2265
 147.185 +0xb4	U+0456
 147.186 +0xb5	U+00b5
 147.187 +0xb6	U+2202
 147.188 +0xb7	U+0408
 147.189 +0xb8	U+0404
 147.190 +0xb9	U+0454
 147.191 +0xba	U+0407
 147.192 +0xbb	U+0457
 147.193 +0xbc	U+0409
 147.194 +0xbd	U+0459
 147.195 +0xbe	U+040a
 147.196 +0xbf	U+045a
 147.197 +0xc0	U+0458
 147.198 +0xc1	U+0405
 147.199 +0xc2	U+00ac
 147.200 +0xc3	U+221a
 147.201 +0xc4	U+0192
 147.202 +0xc5	U+2248
 147.203 +0xc6	U+2206
 147.204 +0xc7	U+00ab
 147.205 +0xc8	U+00bb
 147.206 +0xc9	U+2026
 147.207 +0xca	U+00a0
 147.208 +0xcb	U+040b
 147.209 +0xcc	U+045b
 147.210 +0xcd	U+040c
 147.211 +0xce	U+045c
 147.212 +0xcf	U+0455
 147.213 +0xd0	U+2013
 147.214 +0xd1	U+2014
 147.215 +0xd2	U+201c
 147.216 +0xd3	U+201d
 147.217 +0xd4	U+2018
 147.218 +0xd5	U+2019
 147.219 +0xd6	U+00f7
 147.220 +0xd7	U+201e
 147.221 +0xd8	U+040e
 147.222 +0xd9	U+045e
 147.223 +0xda	U+040f
 147.224 +0xdb	U+045f
 147.225 +0xdc	U+2116
 147.226 +0xdd	U+0401
 147.227 +0xde	U+0451
 147.228 +0xdf	U+044f
 147.229 +0xe0	U+0430
 147.230 +0xe1	U+0431
 147.231 +0xe2	U+0432
 147.232 +0xe3	U+0433
 147.233 +0xe4	U+0434
 147.234 +0xe5	U+0435
 147.235 +0xe6	U+0436
 147.236 +0xe7	U+0437
 147.237 +0xe8	U+0438
 147.238 +0xe9	U+0439
 147.239 +0xea	U+043a
 147.240 +0xeb	U+043b
 147.241 +0xec	U+043c
 147.242 +0xed	U+043d
 147.243 +0xee	U+043e
 147.244 +0xef	U+043f
 147.245 +0xf0	U+0440
 147.246 +0xf1	U+0441
 147.247 +0xf2	U+0442
 147.248 +0xf3	U+0443
 147.249 +0xf4	U+0444
 147.250 +0xf5	U+0445
 147.251 +0xf6	U+0446
 147.252 +0xf7	U+0447
 147.253 +0xf8	U+0448
 147.254 +0xf9	U+0449
 147.255 +0xfa	U+044a
 147.256 +0xfb	U+044b
 147.257 +0xfc	U+044c
 147.258 +0xfd	U+044d
 147.259 +0xfe	U+044e
 147.260 +0xff	U+00a4
   148.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   148.2 +++ b/make/tools/CharsetMapping/MacDingbat.map	Tue Jan 20 09:42:07 2009 -0800
   148.3 @@ -0,0 +1,257 @@
   148.4 +#Generated from MacDingbat.java
   148.5 +0x00	U+0000
   148.6 +0x01	U+0001
   148.7 +0x02	U+0002
   148.8 +0x03	U+0003
   148.9 +0x04	U+0004
  148.10 +0x05	U+0005
  148.11 +0x06	U+0006
  148.12 +0x07	U+0007
  148.13 +0x08	U+0008
  148.14 +0x09	U+0009
  148.15 +0x0a	U+000a
  148.16 +0x0b	U+000b
  148.17 +0x0c	U+000c
  148.18 +0x0d	U+000d
  148.19 +0x0e	U+000e
  148.20 +0x0f	U+000f
  148.21 +0x10	U+0010
  148.22 +0x11	U+0011
  148.23 +0x12	U+0012
  148.24 +0x13	U+0013
  148.25 +0x14	U+0014
  148.26 +0x15	U+0015
  148.27 +0x16	U+0016
  148.28 +0x17	U+0017
  148.29 +0x18	U+0018
  148.30 +0x19	U+0019
  148.31 +0x1a	U+001a
  148.32 +0x1b	U+001b
  148.33 +0x1c	U+001c
  148.34 +0x1d	U+001d
  148.35 +0x1e	U+001e
  148.36 +0x1f	U+001f
  148.37 +0x20	U+0020
  148.38 +0x21	U+2701
  148.39 +0x22	U+2702
  148.40 +0x23	U+2703
  148.41 +0x24	U+2704
  148.42 +0x25	U+260e
  148.43 +0x26	U+2706
  148.44 +0x27	U+2707
  148.45 +0x28	U+2708
  148.46 +0x29	U+2709
  148.47 +0x2a	U+261b
  148.48 +0x2b	U+261e
  148.49 +0x2c	U+270c
  148.50 +0x2d	U+270d
  148.51 +0x2e	U+270e
  148.52 +0x2f	U+270f
  148.53 +0x30	U+2710
  148.54 +0x31	U+2711
  148.55 +0x32	U+2712
  148.56 +0x33	U+2713
  148.57 +0x34	U+2714
  148.58 +0x35	U+2715
  148.59 +0x36	U+2716
  148.60 +0x37	U+2717
  148.61 +0x38	U+2718
  148.62 +0x39	U+2719
  148.63 +0x3a	U+271a
  148.64 +0x3b	U+271b
  148.65 +0x3c	U+271c
  148.66 +0x3d	U+271d
  148.67 +0x3e	U+271e
  148.68 +0x3f	U+271f
  148.69 +0x40	U+2720
  148.70 +0x41	U+2721
  148.71 +0x42	U+2722
  148.72 +0x43	U+2723
  148.73 +0x44	U+2724
  148.74 +0x45	U+2725
  148.75 +0x46	U+2726
  148.76 +0x47	U+2727
  148.77 +0x48	U+2605
  148.78 +0x49	U+2729
  148.79 +0x4a	U+272a
  148.80 +0x4b	U+272b
  148.81 +0x4c	U+272c
  148.82 +0x4d	U+272d
  148.83 +0x4e	U+272e
  148.84 +0x4f	U+272f
  148.85 +0x50	U+2730
  148.86 +0x51	U+2731
  148.87 +0x52	U+2732
  148.88 +0x53	U+2733
  148.89 +0x54	U+2734
  148.90 +0x55	U+2735
  148.91 +0x56	U+2736
  148.92 +0x57	U+2737
  148.93 +0x58	U+2738
  148.94 +0x59	U+2739
  148.95 +0x5a	U+273a
  148.96 +0x5b	U+273b
  148.97 +0x5c	U+273c
  148.98 +0x5d	U+273d
  148.99 +0x5e	U+273e
 148.100 +0x5f	U+273f
 148.101 +0x60	U+2740
 148.102 +0x61	U+2741
 148.103 +0x62	U+2742
 148.104 +0x63	U+2743
 148.105 +0x64	U+2744
 148.106 +0x65	U+2745
 148.107 +0x66	U+2746
 148.108 +0x67	U+2747
 148.109 +0x68	U+2748
 148.110 +0x69	U+2749
 148.111 +0x6a	U+274a
 148.112 +0x6b	U+274b
 148.113 +0x6c	U+25cf
 148.114 +0x6d	U+274d
 148.115 +0x6e	U+25a0
 148.116 +0x6f	U+274f
 148.117 +0x70	U+2750
 148.118 +0x71	U+2751
 148.119 +0x72	U+2752
 148.120 +0x73	U+25b2
 148.121 +0x74	U+25bc
 148.122 +0x75	U+25c6
 148.123 +0x76	U+2756
 148.124 +0x77	U+25d7
 148.125 +0x78	U+2758
 148.126 +0x79	U+2759
 148.127 +0x7a	U+275a
 148.128 +0x7b	U+275b
 148.129 +0x7c	U+275c
 148.130 +0x7d	U+275d
 148.131 +0x7e	U+275e
 148.132 +0x7f	U+007f
 148.133 +0x80	U+fffd
 148.134 +0x81	U+fffd
 148.135 +0x82	U+fffd
 148.136 +0x83	U+fffd
 148.137 +0x84	U+fffd
 148.138 +0x85	U+fffd
 148.139 +0x86	U+fffd
 148.140 +0x87	U+fffd
 148.141 +0x88	U+fffd
 148.142 +0x89	U+fffd
 148.143 +0x8a	U+fffd
 148.144 +0x8b	U+fffd
 148.145 +0x8c	U+fffd
 148.146 +0x8d	U+fffd
 148.147 +0x8e	U+fffd
 148.148 +0x8f	U+fffd
 148.149 +0x90	U+fffd
 148.150 +0x91	U+fffd
 148.151 +0x92	U+fffd
 148.152 +0x93	U+fffd
 148.153 +0x94	U+fffd
 148.154 +0x95	U+fffd
 148.155 +0x96	U+fffd
 148.156 +0x97	U+fffd
 148.157 +0x98	U+fffd
 148.158 +0x99	U+fffd
 148.159 +0x9a	U+fffd
 148.160 +0x9b	U+fffd
 148.161 +0x9c	U+fffd
 148.162 +0x9d	U+fffd
 148.163 +0x9e	U+fffd
 148.164 +0x9f	U+fffd
 148.165 +0xa0	U+fffd
 148.166 +0xa1	U+2761
 148.167 +0xa2	U+2762
 148.168 +0xa3	U+2763
 148.169 +0xa4	U+2764
 148.170 +0xa5	U+2765
 148.171 +0xa6	U+2766
 148.172 +0xa7	U+2767
 148.173 +0xa8	U+2663
 148.174 +0xa9	U+2666
 148.175 +0xaa	U+2665
 148.176 +0xab	U+2660
 148.177 +0xac	U+2460
 148.178 +0xad	U+2461
 148.179 +0xae	U+2462
 148.180 +0xaf	U+2463
 148.181 +0xb0	U+2464
 148.182 +0xb1	U+2465
 148.183 +0xb2	U+2466
 148.184 +0xb3	U+2467
 148.185 +0xb4	U+2468
 148.186 +0xb5	U+2469
 148.187 +0xb6	U+2776
 148.188 +0xb7	U+2777
 148.189 +0xb8	U+2778
 148.190 +0xb9	U+2779
 148.191 +0xba	U+277a
 148.192 +0xbb	U+277b
 148.193 +0xbc	U+277c
 148.194 +0xbd	U+277d
 148.195 +0xbe	U+277e
 148.196 +0xbf	U+277f
 148.197 +0xc0	U+2780
 148.198 +0xc1	U+2781
 148.199 +0xc2	U+2782
 148.200 +0xc3	U+2783
 148.201 +0xc4	U+2784
 148.202 +0xc5	U+2785
 148.203 +0xc6	U+2786
 148.204 +0xc7	U+2787
 148.205 +0xc8	U+2788
 148.206 +0xc9	U+2789
 148.207 +0xca	U+278a
 148.208 +0xcb	U+278b
 148.209 +0xcc	U+278c
 148.210 +0xcd	U+278d
 148.211 +0xce	U+278e
 148.212 +0xcf	U+278f
 148.213 +0xd0	U+2790
 148.214 +0xd1	U+2791
 148.215 +0xd2	U+2792
 148.216 +0xd3	U+2793
 148.217 +0xd4	U+2794
 148.218 +0xd5	U+2192
 148.219 +0xd6	U+2194
 148.220 +0xd7	U+2195
 148.221 +0xd8	U+2798
 148.222 +0xd9	U+2799
 148.223 +0xda	U+279a
 148.224 +0xdb	U+279b
 148.225 +0xdc	U+279c
 148.226 +0xdd	U+279d
 148.227 +0xde	U+279e
 148.228 +0xdf	U+279f
 148.229 +0xe0	U+27a0
 148.230 +0xe1	U+27a1
 148.231 +0xe2	U+27a2
 148.232 +0xe3	U+27a3
 148.233 +0xe4	U+27a4
 148.234 +0xe5	U+27a5
 148.235 +0xe6	U+27a6
 148.236 +0xe7	U+27a7
 148.237 +0xe8	U+27a8
 148.238 +0xe9	U+27a9
 148.239 +0xea	U+27aa
 148.240 +0xeb	U+27ab
 148.241 +0xec	U+27ac
 148.242 +0xed	U+27ad
 148.243 +0xee	U+27ae
 148.244 +0xef	U+27af
 148.245 +0xf0	U+fffd
 148.246 +0xf1	U+27b1
 148.247 +0xf2	U+27b2
 148.248 +0xf3	U+27b3
 148.249 +0xf4	U+27b4
 148.250 +0xf5	U+27b5
 148.251 +0xf6	U+27b6
 148.252 +0xf7	U+27b7
 148.253 +0xf8	U+27b8
 148.254 +0xf9	U+27b9
 148.255 +0xfa	U+27ba
 148.256 +0xfb	U+27bb
 148.257 +0xfc	U+27bc
 148.258 +0xfd	U+27bd
 148.259 +0xfe	U+27be
 148.260 +0xff	U+fffd
   149.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   149.2 +++ b/make/tools/CharsetMapping/MacGreek.map	Tue Jan 20 09:42:07 2009 -0800
   149.3 @@ -0,0 +1,257 @@
   149.4 +#Generated from MacGreek.java
   149.5 +0x00	U+0000
   149.6 +0x01	U+0001
   149.7 +0x02	U+0002
   149.8 +0x03	U+0003
   149.9 +0x04	U+0004
  149.10 +0x05	U+0005
  149.11 +0x06	U+0006
  149.12 +0x07	U+0007
  149.13 +0x08	U+0008
  149.14 +0x09	U+0009
  149.15 +0x0a	U+000a
  149.16 +0x0b	U+000b
  149.17 +0x0c	U+000c
  149.18 +0x0d	U+000d
  149.19 +0x0e	U+000e
  149.20 +0x0f	U+000f
  149.21 +0x10	U+0010
  149.22 +0x11	U+0011
  149.23 +0x12	U+0012
  149.24 +0x13	U+0013
  149.25 +0x14	U+0014
  149.26 +0x15	U+0015
  149.27 +0x16	U+0016
  149.28 +0x17	U+0017
  149.29 +0x18	U+0018
  149.30 +0x19	U+0019
  149.31 +0x1a	U+001a
  149.32 +0x1b	U+001b
  149.33 +0x1c	U+001c
  149.34 +0x1d	U+001d
  149.35 +0x1e	U+001e
  149.36 +0x1f	U+001f
  149.37 +0x20	U+0020
  149.38 +0x21	U+0021
  149.39 +0x22	U+0022
  149.40 +0x23	U+0023
  149.41 +0x24	U+0024
  149.42 +0x25	U+0025
  149.43 +0x26	U+0026
  149.44 +0x27	U+0027
  149.45 +0x28	U+0028
  149.46 +0x29	U+0029
  149.47 +0x2a	U+002a
  149.48 +0x2b	U+002b
  149.49 +0x2c	U+002c
  149.50 +0x2d	U+002d
  149.51 +0x2e	U+002e
  149.52 +0x2f	U+002f
  149.53 +0x30	U+0030
  149.54 +0x31	U+0031
  149.55 +0x32	U+0032
  149.56 +0x33	U+0033
  149.57 +0x34	U+0034
  149.58 +0x35	U+0035
  149.59 +0x36	U+0036
  149.60 +0x37	U+0037
  149.61 +0x38	U+0038
  149.62 +0x39	U+0039
  149.63 +0x3a	U+003a
  149.64 +0x3b	U+003b
  149.65 +0x3c	U+003c
  149.66 +0x3d	U+003d
  149.67 +0x3e	U+003e
  149.68 +0x3f	U+003f
  149.69 +0x40	U+0040
  149.70 +0x41	U+0041
  149.71 +0x42	U+0042
  149.72 +0x43	U+0043
  149.73 +0x44	U+0044
  149.74 +0x45	U+0045
  149.75 +0x46	U+0046
  149.76 +0x47	U+0047
  149.77 +0x48	U+0048
  149.78 +0x49	U+0049
  149.79 +0x4a	U+004a
  149.80 +0x4b	U+004b
  149.81 +0x4c	U+004c
  149.82 +0x4d	U+004d
  149.83 +0x4e	U+004e
  149.84 +0x4f	U+004f
  149.85 +0x50	U+0050
  149.86 +0x51	U+0051
  149.87 +0x52	U+0052
  149.88 +0x53	U+0053
  149.89 +0x54	U+0054
  149.90 +0x55	U+0055
  149.91 +0x56	U+0056
  149.92 +0x57	U+0057
  149.93 +0x58	U+0058
  149.94 +0x59	U+0059
  149.95 +0x5a	U+005a
  149.96 +0x5b	U+005b
  149.97 +0x5c	U+005c
  149.98 +0x5d	U+005d
  149.99 +0x5e	U+005e
 149.100 +0x5f	U+005f
 149.101 +0x60	U+0060
 149.102 +0x61	U+0061
 149.103 +0x62	U+0062
 149.104 +0x63	U+0063
 149.105 +0x64	U+0064
 149.106 +0x65	U+0065
 149.107 +0x66	U+0066
 149.108 +0x67	U+0067
 149.109 +0x68	U+0068
 149.110 +0x69	U+0069
 149.111 +0x6a	U+006a
 149.112 +0x6b	U+006b
 149.113 +0x6c	U+006c
 149.114 +0x6d	U+006d
 149.115 +0x6e	U+006e
 149.116 +0x6f	U+006f
 149.117 +0x70	U+0070
 149.118 +0x71	U+0071
 149.119 +0x72	U+0072
 149.120 +0x73	U+0073
 149.121 +0x74	U+0074
 149.122 +0x75	U+0075
 149.123 +0x76	U+0076
 149.124 +0x77	U+0077
 149.125 +0x78	U+0078
 149.126 +0x79	U+0079
 149.127 +0x7a	U+007a
 149.128 +0x7b	U+007b
 149.129 +0x7c	U+007c
 149.130 +0x7d	U+007d
 149.131 +0x7e	U+007e
 149.132 +0x7f	U+007f
 149.133 +0x80	U+00c4
 149.134 +0x81	U+00b9
 149.135 +0x82	U+00b2
 149.136 +0x83	U+00c9
 149.137 +0x84	U+00b3
 149.138 +0x85	U+00d6
 149.139 +0x86	U+00dc
 149.140 +0x87	U+0385
 149.141 +0x88	U+00e0
 149.142 +0x89	U+00e2
 149.143 +0x8a	U+00e4
 149.144 +0x8b	U+0384
 149.145 +0x8c	U+00a8
 149.146 +0x8d	U+00e7
 149.147 +0x8e	U+00e9
 149.148 +0x8f	U+00e8
 149.149 +0x90	U+00ea
 149.150 +0x91	U+00eb
 149.151 +0x92	U+00a3
 149.152 +0x93	U+2122
 149.153 +0x94	U+00ee
 149.154 +0x95	U+00ef
 149.155 +0x96	U+2022
 149.156 +0x97	U+00bd
 149.157 +0x98	U+2030
 149.158 +0x99	U+00f4
 149.159 +0x9a	U+00f6
 149.160 +0x9b	U+00a6
 149.161 +0x9c	U+00ad
 149.162 +0x9d	U+00f9
 149.163 +0x9e	U+00fb
 149.164 +0x9f	U+00fc
 149.165 +0xa0	U+2020
 149.166 +0xa1	U+0393
 149.167 +0xa2	U+0394
 149.168 +0xa3	U+0398
 149.169 +0xa4	U+039b
 149.170 +0xa5	U+039e
 149.171 +0xa6	U+03a0
 149.172 +0xa7	U+00df
 149.173 +0xa8	U+00ae
 149.174 +0xa9	U+00a9
 149.175 +0xaa	U+03a3
 149.176 +0xab	U+03aa
 149.177 +0xac	U+00a7
 149.178 +0xad	U+2260
 149.179 +0xae	U+00b0
 149.180 +0xaf	U+0387
 149.181 +0xb0	U+0391
 149.182 +0xb1	U+00b1
 149.183 +0xb2	U+2264
 149.184 +0xb3	U+2265
 149.185 +0xb4	U+00a5
 149.186 +0xb5	U+0392
 149.187 +0xb6	U+0395
 149.188 +0xb7	U+0396
 149.189 +0xb8	U+0397
 149.190 +0xb9	U+0399
 149.191 +0xba	U+039a
 149.192 +0xbb	U+039c
 149.193 +0xbc	U+03a6
 149.194 +0xbd	U+03ab
 149.195 +0xbe	U+03a8
 149.196 +0xbf	U+03a9
 149.197 +0xc0	U+03ac
 149.198 +0xc1	U+039d
 149.199 +0xc2	U+00ac
 149.200 +0xc3	U+039f
 149.201 +0xc4	U+03a1
 149.202 +0xc5	U+2248
 149.203 +0xc6	U+03a4
 149.204 +0xc7	U+00ab
 149.205 +0xc8	U+00bb
 149.206 +0xc9	U+2026
 149.207 +0xca	U+00a0
 149.208 +0xcb	U+03a5
 149.209 +0xcc	U+03a7
 149.210 +0xcd	U+0386
 149.211 +0xce	U+0388
 149.212 +0xcf	U+0153
 149.213 +0xd0	U+2013
 149.214 +0xd1	U+2015
 149.215 +0xd2	U+201c
 149.216 +0xd3	U+201d
 149.217 +0xd4	U+2018
 149.218 +0xd5	U+2019
 149.219 +0xd6	U+00f7
 149.220 +0xd7	U+0389
 149.221 +0xd8	U+038a
 149.222 +0xd9	U+038c
 149.223 +0xda	U+038e
 149.224 +0xdb	U+03ad
 149.225 +0xdc	U+03ae
 149.226 +0xdd	U+03af
 149.227 +0xde	U+03cc
 149.228 +0xdf	U+038f
 149.229 +0xe0	U+03cd
 149.230 +0xe1	U+03b1
 149.231 +0xe2	U+03b2
 149.232 +0xe3	U+03c8
 149.233 +0xe4	U+03b4
 149.234 +0xe5	U+03b5
 149.235 +0xe6	U+03c6
 149.236 +0xe7	U+03b3
 149.237 +0xe8	U+03b7
 149.238 +0xe9	U+03b9
 149.239 +0xea	U+03be
 149.240 +0xeb	U+03ba
 149.241 +0xec	U+03bb
 149.242 +0xed	U+03bc
 149.243 +0xee	U+03bd
 149.244 +0xef	U+03bf
 149.245 +0xf0	U+03c0
 149.246 +0xf1	U+03ce
 149.247 +0xf2	U+03c1
 149.248 +0xf3	U+03c3
 149.249 +0xf4	U+03c4
 149.250 +0xf5	U+03b8
 149.251 +0xf6	U+03c9
 149.252 +0xf7	U+03c2
 149.253 +0xf8	U+03c7
 149.254 +0xf9	U+03c5
 149.255 +0xfa	U+03b6
 149.256 +0xfb	U+03ca
 149.257 +0xfc	U+03cb
 149.258 +0xfd	U+0390
 149.259 +0xfe	U+03b0
 149.260 +0xff	U+fffd
   150.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   150.2 +++ b/make/tools/CharsetMapping/MacHebrew.map	Tue Jan 20 09:42:07 2009 -0800
   150.3 @@ -0,0 +1,257 @@
   150.4 +#Generated from MacHebrew.java
   150.5 +0x00	U+0000
   150.6 +0x01	U+0001
   150.7 +0x02	U+0002
   150.8 +0x03	U+0003
   150.9 +0x04	U+0004
  150.10 +0x05	U+0005
  150.11 +0x06	U+0006
  150.12 +0x07	U+0007
  150.13 +0x08	U+0008
  150.14 +0x09	U+0009
  150.15 +0x0a	U+000a
  150.16 +0x0b	U+000b
  150.17 +0x0c	U+000c
  150.18 +0x0d	U+000d
  150.19 +0x0e	U+000e
  150.20 +0x0f	U+000f
  150.21 +0x10	U+0010
  150.22 +0x11	U+0011
  150.23 +0x12	U+0012
  150.24 +0x13	U+0013
  150.25 +0x14	U+0014
  150.26 +0x15	U+0015
  150.27 +0x16	U+0016
  150.28 +0x17	U+0017
  150.29 +0x18	U+0018
  150.30 +0x19	U+0019
  150.31 +0x1a	U+001a
  150.32 +0x1b	U+001b
  150.33 +0x1c	U+001c
  150.34 +0x1d	U+001d
  150.35 +0x1e	U+001e
  150.36 +0x1f	U+001f
  150.37 +0x20	U+0020
  150.38 +0x21	U+0021
  150.39 +0x22	U+0022
  150.40 +0x23	U+0023
  150.41 +0x24	U+0024
  150.42 +0x25	U+0025
  150.43 +0x26	U+0026
  150.44 +0x27	U+0027
  150.45 +0x28	U+0028
  150.46 +0x29	U+0029
  150.47 +0x2a	U+002a
  150.48 +0x2b	U+002b
  150.49 +0x2c	U+002c
  150.50 +0x2d	U+002d
  150.51 +0x2e	U+002e
  150.52 +0x2f	U+002f
  150.53 +0x30	U+0030
  150.54 +0x31	U+0031
  150.55 +0x32	U+0032
  150.56 +0x33	U+0033
  150.57 +0x34	U+0034
  150.58 +0x35	U+0035
  150.59 +0x36	U+0036
  150.60 +0x37	U+0037
  150.61 +0x38	U+0038
  150.62 +0x39	U+0039
  150.63 +0x3a	U+003a
  150.64 +0x3b	U+003b
  150.65 +0x3c	U+003c
  150.66 +0x3d	U+003d
  150.67 +0x3e	U+003e
  150.68 +0x3f	U+003f
  150.69 +0x40	U+0040
  150.70 +0x41	U+0041
  150.71 +0x42	U+0042
  150.72 +0x43	U+0043
  150.73 +0x44	U+0044
  150.74 +0x45	U+0045
  150.75 +0x46	U+0046
  150.76 +0x47	U+0047
  150.77 +0x48	U+0048
  150.78 +0x49	U+0049
  150.79 +0x4a	U+004a
  150.80 +0x4b	U+004b
  150.81 +0x4c	U+004c
  150.82 +0x4d	U+004d
  150.83 +0x4e	U+004e
  150.84 +0x4f	U+004f
  150.85 +0x50	U+0050
  150.86 +0x51	U+0051
  150.87 +0x52	U+0052
  150.88 +0x53	U+0053
  150.89 +0x54	U+0054
  150.90 +0x55	U+0055
  150.91 +0x56	U+0056
  150.92 +0x57	U+0057
  150.93 +0x58	U+0058
  150.94 +0x59	U+0059
  150.95 +0x5a	U+005a
  150.96 +0x5b	U+005b
  150.97 +0x5c	U+005c
  150.98 +0x5d	U+005d
  150.99 +0x5e	U+005e
 150.100 +0x5f	U+005f
 150.101 +0x60	U+0060
 150.102 +0x61	U+0061
 150.103 +0x62	U+0062
 150.104 +0x63	U+0063
 150.105 +0x64	U+0064
 150.106 +0x65	U+0065
 150.107 +0x66	U+0066
 150.108 +0x67	U+0067
 150.109 +0x68	U+0068
 150.110 +0x69	U+0069
 150.111 +0x6a	U+006a
 150.112 +0x6b	U+006b
 150.113 +0x6c	U+006c
 150.114 +0x6d	U+006d
 150.115 +0x6e	U+006e
 150.116 +0x6f	U+006f
 150.117 +0x70	U+0070
 150.118 +0x71	U+0071
 150.119 +0x72	U+0072
 150.120 +0x73	U+0073
 150.121 +0x74	U+0074
 150.122 +0x75	U+0075
 150.123 +0x76	U+0076
 150.124 +0x77	U+0077
 150.125 +0x78	U+0078
 150.126 +0x79	U+0079
 150.127 +0x7a	U+007a
 150.128 +0x7b	U+007b
 150.129 +0x7c	U+007c
 150.130 +0x7d	U+007d
 150.131 +0x7e	U+007e
 150.132 +0x7f	U+007f
 150.133 +0x80	U+00c4
 150.134 +0x81	U+fb1f
 150.135 +0x82	U+00c7
 150.136 +0x83	U+00c9
 150.137 +0x84	U+00d1
 150.138 +0x85	U+00d6
 150.139 +0x86	U+00dc
 150.140 +0x87	U+00e1
 150.141 +0x88	U+00e0
 150.142 +0x89	U+00e2
 150.143 +0x8a	U+00e4
 150.144 +0x8b	U+00e3
 150.145 +0x8c	U+00e5
 150.146 +0x8d	U+00e7
 150.147 +0x8e	U+00e9
 150.148 +0x8f	U+00e8
 150.149 +0x90	U+00ea
 150.150 +0x91	U+00eb
 150.151 +0x92	U+00ed
 150.152 +0x93	U+00ec
 150.153 +0x94	U+00ee
 150.154 +0x95	U+00ef
 150.155 +0x96	U+00f1
 150.156 +0x97	U+00f3
 150.157 +0x98	U+00f2
 150.158 +0x99	U+00f4
 150.159 +0x9a	U+00f6
 150.160 +0x9b	U+00f5
 150.161 +0x9c	U+00fa
 150.162 +0x9d	U+00f9
 150.163 +0x9e	U+00fb
 150.164 +0x9f	U+00fc
 150.165 +0xa0	U+fffd
 150.166 +0xa1	U+fffd
 150.167 +0xa2	U+fffd
 150.168 +0xa3	U+fffd
 150.169 +0xa4	U+fffd
 150.170 +0xa5	U+fffd
 150.171 +0xa6	U+20aa
 150.172 +0xa7	U+fffd
 150.173 +0xa8	U+fffd
 150.174 +0xa9	U+fffd
 150.175 +0xaa	U+fffd
 150.176 +0xab	U+fffd
 150.177 +0xac	U+fffd
 150.178 +0xad	U+fffd
 150.179 +0xae	U+fffd
 150.180 +0xaf	U+fffd
 150.181 +0xb0	U+fffd
 150.182 +0xb1	U+fffd
 150.183 +0xb2	U+fffd
 150.184 +0xb3	U+fffd
 150.185 +0xb4	U+fffd
 150.186 +0xb5	U+fffd
 150.187 +0xb6	U+fffd
 150.188 +0xb7	U+fffd
 150.189 +0xb8	U+fffd
 150.190 +0xb9	U+fffd
 150.191 +0xba	U+fffd
 150.192 +0xbb	U+fffd
 150.193 +0xbc	U+fffd
 150.194 +0xbd	U+fffd
 150.195 +0xbe	U+fffd
 150.196 +0xbf	U+fffd
 150.197 +0xc0	U+fffd
 150.198 +0xc1	U+201e
 150.199 +0xc2	U+fffd
 150.200 +0xc3	U+fffd
 150.201 +0xc4	U+fffd
 150.202 +0xc5	U+fffd
 150.203 +0xc6	U+05bc
 150.204 +0xc7	U+fb4b
 150.205 +0xc8	U+fb35
 150.206 +0xc9	U+2026
 150.207 +0xca	U+00a0
 150.208 +0xcb	U+05b8
 150.209 +0xcc	U+05b7
 150.210 +0xcd	U+05b5
 150.211 +0xce	U+05b6
 150.212 +0xcf	U+05b4
 150.213 +0xd0	U+2013
 150.214 +0xd1	U+2014
 150.215 +0xd2	U+201c
 150.216 +0xd3	U+201d
 150.217 +0xd4	U+2018
 150.218 +0xd5	U+2019
 150.219 +0xd6	U+fb2a
 150.220 +0xd7	U+fb2b
 150.221 +0xd8	U+05bf
 150.222 +0xd9	U+05b0
 150.223 +0xda	U+05b2
 150.224 +0xdb	U+05b1
 150.225 +0xdc	U+05bb
 150.226 +0xdd	U+05b9
 150.227 +0xde	U+fffd
 150.228 +0xdf	U+05b3
 150.229 +0xe0	U+05d0
 150.230 +0xe1	U+05d1
 150.231 +0xe2	U+05d2
 150.232 +0xe3	U+05d3
 150.233 +0xe4	U+05d4
 150.234 +0xe5	U+05d5
 150.235 +0xe6	U+05d6
 150.236 +0xe7	U+05d7
 150.237 +0xe8	U+05d8
 150.238 +0xe9	U+05d9
 150.239 +0xea	U+05da
 150.240 +0xeb	U+05db
 150.241 +0xec	U+05dc
 150.242 +0xed	U+05dd
 150.243 +0xee	U+05de
 150.244 +0xef	U+05df
 150.245 +0xf0	U+05e0
 150.246 +0xf1	U+05e1
 150.247 +0xf2	U+05e2
 150.248 +0xf3	U+05e3
 150.249 +0xf4	U+05e4
 150.250 +0xf5	U+05e5
 150.251 +0xf6	U+05e6
 150.252 +0xf7	U+05e7
 150.253 +0xf8	U+05e8
 150.254 +0xf9	U+05e9
 150.255 +0xfa	U+05ea
 150.256 +0xfb	U+fffd
 150.257 +0xfc	U+fffd
 150.258 +0xfd	U+fffd
 150.259 +0xfe	U+fffd
 150.260 +0xff	U+fffd
   151.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   151.2 +++ b/make/tools/CharsetMapping/MacIceland.map	Tue Jan 20 09:42:07 2009 -0800
   151.3 @@ -0,0 +1,257 @@
   151.4 +#Generated from MacIceland.java
   151.5 +0x00	U+0000
   151.6 +0x01	U+0001
   151.7 +0x02	U+0002
   151.8 +0x03	U+0003
   151.9 +0x04	U+0004
  151.10 +0x05	U+0005
  151.11 +0x06	U+0006
  151.12 +0x07	U+0007
  151.13 +0x08	U+0008
  151.14 +0x09	U+0009
  151.15 +0x0a	U+000a
  151.16 +0x0b	U+000b
  151.17 +0x0c	U+000c
  151.18 +0x0d	U+000d
  151.19 +0x0e	U+000e
  151.20 +0x0f	U+000f
  151.21 +0x10	U+0010
  151.22 +0x11	U+0011
  151.23 +0x12	U+0012
  151.24 +0x13	U+0013
  151.25 +0x14	U+0014
  151.26 +0x15	U+0015
  151.27 +0x16	U+0016
  151.28 +0x17	U+0017
  151.29 +0x18	U+0018
  151.30 +0x19	U+0019
  151.31 +0x1a	U+001a
  151.32 +0x1b	U+001b
  151.33 +0x1c	U+001c
  151.34 +0x1d	U+001d
  151.35 +0x1e	U+001e
  151.36 +0x1f	U+001f
  151.37 +0x20	U+0020
  151.38 +0x21	U+0021
  151.39 +0x22	U+0022
  151.40 +0x23	U+0023
  151.41 +0x24	U+0024
  151.42 +0x25	U+0025
  151.43 +0x26	U+0026
  151.44 +0x27	U+0027
  151.45 +0x28	U+0028
  151.46 +0x29	U+0029
  151.47 +0x2a	U+002a
  151.48 +0x2b	U+002b
  151.49 +0x2c	U+002c
  151.50 +0x2d	U+002d
  151.51 +0x2e	U+002e
  151.52 +0x2f	U+002f
  151.53 +0x30	U+0030
  151.54 +0x31	U+0031
  151.55 +0x32	U+0032
  151.56 +0x33	U+0033
  151.57 +0x34	U+0034
  151.58 +0x35	U+0035
  151.59 +0x36	U+0036
  151.60 +0x37	U+0037
  151.61 +0x38	U+0038
  151.62 +0x39	U+0039
  151.63 +0x3a	U+003a
  151.64 +0x3b	U+003b
  151.65 +0x3c	U+003c
  151.66 +0x3d	U+003d
  151.67 +0x3e	U+003e
  151.68 +0x3f	U+003f
  151.69 +0x40	U+0040
  151.70 +0x41	U+0041
  151.71 +0x42	U+0042
  151.72 +0x43	U+0043
  151.73 +0x44	U+0044
  151.74 +0x45	U+0045
  151.75 +0x46	U+0046
  151.76 +0x47	U+0047
  151.77 +0x48	U+0048
  151.78 +0x49	U+0049
  151.79 +0x4a	U+004a
  151.80 +0x4b	U+004b
  151.81 +0x4c	U+004c
  151.82 +0x4d	U+004d
  151.83 +0x4e	U+004e
  151.84 +0x4f	U+004f
  151.85 +0x50	U+0050
  151.86 +0x51	U+0051
  151.87 +0x52	U+0052
  151.88 +0x53	U+0053
  151.89 +0x54	U+0054
  151.90 +0x55	U+0055
  151.91 +0x56	U+0056
  151.92 +0x57	U+0057
  151.93 +0x58	U+0058
  151.94 +0x59	U+0059
  151.95 +0x5a	U+005a
  151.96 +0x5b	U+005b
  151.97 +0x5c	U+005c
  151.98 +0x5d	U+005d
  151.99 +0x5e	U+005e
 151.100 +0x5f	U+005f
 151.101 +0x60	U+0060
 151.102 +0x61	U+0061
 151.103 +0x62	U+0062
 151.104 +0x63	U+0063
 151.105 +0x64	U+0064
 151.106 +0x65	U+0065
 151.107 +0x66	U+0066
 151.108 +0x67	U+0067
 151.109 +0x68	U+0068
 151.110 +0x69	U+0069
 151.111 +0x6a	U+006a
 151.112 +0x6b	U+006b
 151.113 +0x6c	U+006c
 151.114 +0x6d	U+006d
 151.115 +0x6e	U+006e
 151.116 +0x6f	U+006f
 151.117 +0x70	U+0070
 151.118 +0x71	U+0071
 151.119 +0x72	U+0072
 151.120 +0x73	U+0073
 151.121 +0x74	U+0074
 151.122 +0x75	U+0075
 151.123 +0x76	U+0076
 151.124 +0x77	U+0077
 151.125 +0x78	U+0078
 151.126 +0x79	U+0079
 151.127 +0x7a	U+007a
 151.128 +0x7b	U+007b
 151.129 +0x7c	U+007c
 151.130 +0x7d	U+007d
 151.131 +0x7e	U+007e
 151.132 +0x7f	U+007f
 151.133 +0x80	U+00c4
 151.134 +0x81	U+00c5
 151.135 +0x82	U+00c7
 151.136 +0x83	U+00c9
 151.137 +0x84	U+00d1
 151.138 +0x85	U+00d6
 151.139 +0x86	U+00dc
 151.140 +0x87	U+00e1
 151.141 +0x88	U+00e0
 151.142 +0x89	U+00e2
 151.143 +0x8a	U+00e4
 151.144 +0x8b	U+00e3
 151.145 +0x8c	U+00e5
 151.146 +0x8d	U+00e7
 151.147 +0x8e	U+00e9
 151.148 +0x8f	U+00e8
 151.149 +0x90	U+00ea
 151.150 +0x91	U+00eb
 151.151 +0x92	U+00ed
 151.152 +0x93	U+00ec
 151.153 +0x94	U+00ee
 151.154 +0x95	U+00ef
 151.155 +0x96	U+00f1
 151.156 +0x97	U+00f3
 151.157 +0x98	U+00f2
 151.158 +0x99	U+00f4
 151.159 +0x9a	U+00f6
 151.160 +0x9b	U+00f5
 151.161 +0x9c	U+00fa
 151.162 +0x9d	U+00f9
 151.163 +0x9e	U+00fb
 151.164 +0x9f	U+00fc
 151.165 +0xa0	U+00dd
 151.166 +0xa1	U+00b0
 151.167 +0xa2	U+00a2
 151.168 +0xa3	U+00a3
 151.169 +0xa4	U+00a7
 151.170 +0xa5	U+2022
 151.171 +0xa6	U+00b6
 151.172 +0xa7	U+00df
 151.173 +0xa8	U+00ae
 151.174 +0xa9	U+00a9
 151.175 +0xaa	U+2122
 151.176 +0xab	U+00b4
 151.177 +0xac	U+00a8
 151.178 +0xad	U+2260
 151.179 +0xae	U+00c6
 151.180 +0xaf	U+00d8
 151.181 +0xb0	U+221e
 151.182 +0xb1	U+00b1
 151.183 +0xb2	U+2264
 151.184 +0xb3	U+2265
 151.185 +0xb4	U+00a5
 151.186 +0xb5	U+00b5
 151.187 +0xb6	U+2202
 151.188 +0xb7	U+2211
 151.189 +0xb8	U+220f
 151.190 +0xb9	U+03c0
 151.191 +0xba	U+222b
 151.192 +0xbb	U+00aa
 151.193 +0xbc	U+00ba
 151.194 +0xbd	U+2126
 151.195 +0xbe	U+00e6
 151.196 +0xbf	U+00f8
 151.197 +0xc0	U+00bf
 151.198 +0xc1	U+00a1
 151.199 +0xc2	U+00ac
 151.200 +0xc3	U+221a
 151.201 +0xc4	U+0192
 151.202 +0xc5	U+2248
 151.203 +0xc6	U+2206
 151.204 +0xc7	U+00ab
 151.205 +0xc8	U+00bb
 151.206 +0xc9	U+2026
 151.207 +0xca	U+00a0
 151.208 +0xcb	U+00c0
 151.209 +0xcc	U+00c3
 151.210 +0xcd	U+00d5
 151.211 +0xce	U+0152
 151.212 +0xcf	U+0153
 151.213 +0xd0	U+2013
 151.214 +0xd1	U+2014
 151.215 +0xd2	U+201c
 151.216 +0xd3	U+201d
 151.217 +0xd4	U+2018
 151.218 +0xd5	U+2019
 151.219 +0xd6	U+00f7
 151.220 +0xd7	U+25ca
 151.221 +0xd8	U+00ff
 151.222 +0xd9	U+0178
 151.223 +0xda	U+2044
 151.224 +0xdb	U+00a4
 151.225 +0xdc	U+00d0
 151.226 +0xdd	U+00f0
 151.227 +0xde	U+00de
 151.228 +0xdf	U+00fe
 151.229 +0xe0	U+00fd
 151.230 +0xe1	U+00b7
 151.231 +0xe2	U+201a
 151.232 +0xe3	U+201e
 151.233 +0xe4	U+2030
 151.234 +0xe5	U+00c2
 151.235 +0xe6	U+00ca
 151.236 +0xe7	U+00c1
 151.237 +0xe8	U+00cb
 151.238 +0xe9	U+00c8
 151.239 +0xea	U+00cd
 151.240 +0xeb	U+00ce
 151.241 +0xec	U+00cf
 151.242 +0xed	U+00cc
 151.243 +0xee	U+00d3
 151.244 +0xef	U+00d4
 151.245 +0xf0	U+f8ff
 151.246 +0xf1	U+00d2
 151.247 +0xf2	U+00da
 151.248 +0xf3	U+00db
 151.249 +0xf4	U+00d9
 151.250 +0xf5	U+0131
 151.251 +0xf6	U+02c6
 151.252 +0xf7	U+02dc
 151.253 +0xf8	U+00af
 151.254 +0xf9	U+02d8
 151.255 +0xfa	U+02d9
 151.256 +0xfb	U+02da
 151.257 +0xfc	U+00b8
 151.258 +0xfd	U+02dd
 151.259 +0xfe	U+02db
 151.260 +0xff	U+02c7
   152.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   152.2 +++ b/make/tools/CharsetMapping/MacRoman.map	Tue Jan 20 09:42:07 2009 -0800
   152.3 @@ -0,0 +1,257 @@
   152.4 +#Generated from MacRoman.java
   152.5 +0x00	U+0000
   152.6 +0x01	U+0001
   152.7 +0x02	U+0002
   152.8 +0x03	U+0003
   152.9 +0x04	U+0004
  152.10 +0x05	U+0005
  152.11 +0x06	U+0006
  152.12 +0x07	U+0007
  152.13 +0x08	U+0008
  152.14 +0x09	U+0009
  152.15 +0x0a	U+000a
  152.16 +0x0b	U+000b
  152.17 +0x0c	U+000c
  152.18 +0x0d	U+000d
  152.19 +0x0e	U+000e
  152.20 +0x0f	U+000f
  152.21 +0x10	U+0010
  152.22 +0x11	U+0011
  152.23 +0x12	U+0012
  152.24 +0x13	U+0013
  152.25 +0x14	U+0014
  152.26 +0x15	U+0015
  152.27 +0x16	U+0016
  152.28 +0x17	U+0017
  152.29 +0x18	U+0018
  152.30 +0x19	U+0019
  152.31 +0x1a	U+001a
  152.32 +0x1b	U+001b
  152.33 +0x1c	U+001c
  152.34 +0x1d	U+001d
  152.35 +0x1e	U+001e
  152.36 +0x1f	U+001f
  152.37 +0x20	U+0020
  152.38 +0x21	U+0021
  152.39 +0x22	U+0022
  152.40 +0x23	U+0023
  152.41 +0x24	U+0024
  152.42 +0x25	U+0025
  152.43 +0x26	U+0026
  152.44 +0x27	U+0027
  152.45 +0x28	U+0028
  152.46 +0x29	U+0029
  152.47 +0x2a	U+002a
  152.48 +0x2b	U+002b
  152.49 +0x2c	U+002c
  152.50 +0x2d	U+002d
  152.51 +0x2e	U+002e
  152.52 +0x2f	U+002f
  152.53 +0x30	U+0030
  152.54 +0x31	U+0031
  152.55 +0x32	U+0032
  152.56 +0x33	U+0033
  152.57 +0x34	U+0034
  152.58 +0x35	U+0035
  152.59 +0x36	U+0036
  152.60 +0x37	U+0037
  152.61 +0x38	U+0038
  152.62 +0x39	U+0039
  152.63 +0x3a	U+003a
  152.64 +0x3b	U+003b
  152.65 +0x3c	U+003c
  152.66 +0x3d	U+003d
  152.67 +0x3e	U+003e
  152.68 +0x3f	U+003f
  152.69 +0x40	U+0040
  152.70 +0x41	U+0041
  152.71 +0x42	U+0042
  152.72 +0x43	U+0043
  152.73 +0x44	U+0044
  152.74 +0x45	U+0045
  152.75 +0x46	U+0046
  152.76 +0x47	U+0047
  152.77 +0x48	U+0048
  152.78 +0x49	U+0049
  152.79 +0x4a	U+004a
  152.80 +0x4b	U+004b
  152.81 +0x4c	U+004c
  152.82 +0x4d	U+004d
  152.83 +0x4e	U+004e
  152.84 +0x4f	U+004f
  152.85 +0x50	U+0050
  152.86 +0x51	U+0051
  152.87 +0x52	U+0052
  152.88 +0x53	U+0053
  152.89 +0x54	U+0054
  152.90 +0x55	U+0055
  152.91 +0x56	U+0056
  152.92 +0x57	U+0057
  152.93 +0x58	U+0058
  152.94 +0x59	U+0059
  152.95 +0x5a	U+005a
  152.96 +0x5b	U+005b
  152.97 +0x5c	U+005c
  152.98 +0x5d	U+005d
  152.99 +0x5e	U+005e
 152.100 +0x5f	U+005f
 152.101 +0x60	U+0060
 152.102 +0x61	U+0061
 152.103 +0x62	U+0062
 152.104 +0x63	U+0063
 152.105 +0x64	U+0064
 152.106 +0x65	U+0065
 152.107 +0x66	U+0066
 152.108 +0x67	U+0067
 152.109 +0x68	U+0068
 152.110 +0x69	U+0069
 152.111 +0x6a	U+006a
 152.112 +0x6b	U+006b
 152.113 +0x6c	U+006c
 152.114 +0x6d	U+006d
 152.115 +0x6e	U+006e
 152.116 +0x6f	U+006f
 152.117 +0x70	U+0070
 152.118 +0x71	U+0071
 152.119 +0x72	U+0072
 152.120 +0x73	U+0073
 152.121 +0x74	U+0074
 152.122 +0x75	U+0075
 152.123 +0x76	U+0076
 152.124 +0x77	U+0077
 152.125 +0x78	U+0078
 152.126 +0x79	U+0079
 152.127 +0x7a	U+007a
 152.128 +0x7b	U+007b
 152.129 +0x7c	U+007c
 152.130 +0x7d	U+007d
 152.131 +0x7e	U+007e
 152.132 +0x7f	U+007f
 152.133 +0x80	U+00c4
 152.134 +0x81	U+00c5
 152.135 +0x82	U+00c7
 152.136 +0x83	U+00c9
 152.137 +0x84	U+00d1
 152.138 +0x85	U+00d6
 152.139 +0x86	U+00dc
 152.140 +0x87	U+00e1
 152.141 +0x88	U+00e0
 152.142 +0x89	U+00e2
 152.143 +0x8a	U+00e4
 152.144 +0x8b	U+00e3
 152.145 +0x8c	U+00e5
 152.146 +0x8d	U+00e7
 152.147 +0x8e	U+00e9
 152.148 +0x8f	U+00e8
 152.149 +0x90	U+00ea
 152.150 +0x91	U+00eb
 152.151 +0x92	U+00ed
 152.152 +0x93	U+00ec
 152.153 +0x94	U+00ee
 152.154 +0x95	U+00ef
 152.155 +0x96	U+00f1
 152.156 +0x97	U+00f3
 152.157 +0x98	U+00f2
 152.158 +0x99	U+00f4
 152.159 +0x9a	U+00f6
 152.160 +0x9b	U+00f5
 152.161 +0x9c	U+00fa
 152.162 +0x9d	U+00f9
 152.163 +0x9e	U+00fb
 152.164 +0x9f	U+00fc
 152.165 +0xa0	U+2020
 152.166 +0xa1	U+00b0
 152.167 +0xa2	U+00a2
 152.168 +0xa3	U+00a3
 152.169 +0xa4	U+00a7
 152.170 +0xa5	U+2022
 152.171 +0xa6	U+00b6
 152.172 +0xa7	U+00df
 152.173 +0xa8	U+00ae
 152.174 +0xa9	U+00a9
 152.175 +0xaa	U+2122
 152.176 +0xab	U+00b4
 152.177 +0xac	U+00a8
 152.178 +0xad	U+2260
 152.179 +0xae	U+00c6
 152.180 +0xaf	U+00d8
 152.181 +0xb0	U+221e
 152.182 +0xb1	U+00b1
 152.183 +0xb2	U+2264
 152.184 +0xb3	U+2265
 152.185 +0xb4	U+00a5
 152.186 +0xb5	U+00b5
 152.187 +0xb6	U+2202
 152.188 +0xb7	U+2211
 152.189 +0xb8	U+220f
 152.190 +0xb9	U+03c0
 152.191 +0xba	U+222b
 152.192 +0xbb	U+00aa
 152.193 +0xbc	U+00ba
 152.194 +0xbd	U+03a9
 152.195 +0xbe	U+00e6
 152.196 +0xbf	U+00f8
 152.197 +0xc0	U+00bf
 152.198 +0xc1	U+00a1
 152.199 +0xc2	U+00ac
 152.200 +0xc3	U+221a
 152.201 +0xc4	U+0192
 152.202 +0xc5	U+2248
 152.203 +0xc6	U+2206
 152.204 +0xc7	U+00ab
 152.205 +0xc8	U+00bb
 152.206 +0xc9	U+2026
 152.207 +0xca	U+00a0
 152.208 +0xcb	U+00c0
 152.209 +0xcc	U+00c3
 152.210 +0xcd	U+00d5
 152.211 +0xce	U+0152
 152.212 +0xcf	U+0153
 152.213 +0xd0	U+2013
 152.214 +0xd1	U+2014
 152.215 +0xd2	U+201c
 152.216 +0xd3	U+201d
 152.217 +0xd4	U+2018
 152.218 +0xd5	U+2019
 152.219 +0xd6	U+00f7
 152.220 +0xd7	U+25ca
 152.221 +0xd8	U+00ff
 152.222 +0xd9	U+0178
 152.223 +0xda	U+2044
 152.224 +0xdb	U+20ac
 152.225 +0xdc	U+2039
 152.226 +0xdd	U+203a
 152.227 +0xde	U+fb01
 152.228 +0xdf	U+fb02
 152.229 +0xe0	U+2021
 152.230 +0xe1	U+00b7
 152.231 +0xe2	U+201a
 152.232 +0xe3	U+201e
 152.233 +0xe4	U+2030
 152.234 +0xe5	U+00c2
 152.235 +0xe6	U+00ca
 152.236 +0xe7	U+00c1
 152.237 +0xe8	U+00cb
 152.238 +0xe9	U+00c8
 152.239 +0xea	U+00cd
 152.240 +0xeb	U+00ce
 152.241 +0xec	U+00cf
 152.242 +0xed	U+00cc
 152.243 +0xee	U+00d3
 152.244 +0xef	U+00d4
 152.245 +0xf0	U+f8ff
 152.246 +0xf1	U+00d2
 152.247 +0xf2	U+00da
 152.248 +0xf3	U+00db
 152.249 +0xf4	U+00d9
 152.250 +0xf5	U+0131
 152.251 +0xf6	U+02c6
 152.252 +0xf7	U+02dc
 152.253 +0xf8	U+00af
 152.254 +0xf9	U+02d8
 152.255 +0xfa	U+02d9
 152.256 +0xfb	U+02da
 152.257 +0xfc	U+00b8
 152.258 +0xfd	U+02dd
 152.259 +0xfe	U+02db
 152.260 +0xff	U+02c7
   153.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   153.2 +++ b/make/tools/CharsetMapping/MacRomania.map	Tue Jan 20 09:42:07 2009 -0800
   153.3 @@ -0,0 +1,257 @@
   153.4 +#Generated from MacRomania.java
   153.5 +0x00	U+0000
   153.6 +0x01	U+0001
   153.7 +0x02	U+0002
   153.8 +0x03	U+0003
   153.9 +0x04	U+0004
  153.10 +0x05	U+0005
  153.11 +0x06	U+0006
  153.12 +0x07	U+0007
  153.13 +0x08	U+0008
  153.14 +0x09	U+0009
  153.15 +0x0a	U+000a
  153.16 +0x0b	U+000b
  153.17 +0x0c	U+000c
  153.18 +0x0d	U+000d
  153.19 +0x0e	U+000e
  153.20 +0x0f	U+000f
  153.21 +0x10	U+0010
  153.22 +0x11	U+0011
  153.23 +0x12	U+0012
  153.24 +0x13	U+0013
  153.25 +0x14	U+0014
  153.26 +0x15	U+0015
  153.27 +0x16	U+0016
  153.28 +0x17	U+0017
  153.29 +0x18	U+0018
  153.30 +0x19	U+0019
  153.31 +0x1a	U+001a
  153.32 +0x1b	U+001b
  153.33 +0x1c	U+001c
  153.34 +0x1d	U+001d
  153.35 +0x1e	U+001e
  153.36 +0x1f	U+001f
  153.37 +0x20	U+0020
  153.38 +0x21	U+0021
  153.39 +0x22	U+0022
  153.40 +0x23	U+0023
  153.41 +0x24	U+0024
  153.42 +0x25	U+0025
  153.43 +0x26	U+0026
  153.44 +0x27	U+0027
  153.45 +0x28	U+0028
  153.46 +0x29	U+0029
  153.47 +0x2a	U+002a
  153.48 +0x2b	U+002b
  153.49 +0x2c	U+002c
  153.50 +0x2d	U+002d
  153.51 +0x2e	U+002e
  153.52 +0x2f	U+002f
  153.53 +0x30	U+0030
  153.54 +0x31	U+0031
  153.55 +0x32	U+0032
  153.56 +0x33	U+0033
  153.57 +0x34	U+0034
  153.58 +0x35	U+0035
  153.59 +0x36	U+0036
  153.60 +0x37	U+0037
  153.61 +0x38	U+0038
  153.62 +0x39	U+0039
  153.63 +0x3a	U+003a
  153.64 +0x3b	U+003b
  153.65 +0x3c	U+003c
  153.66 +0x3d	U+003d
  153.67 +0x3e	U+003e
  153.68 +0x3f	U+003f
  153.69 +0x40	U+0040
  153.70 +0x41	U+0041
  153.71 +0x42	U+0042
  153.72 +0x43	U+0043
  153.73 +0x44	U+0044
  153.74 +0x45	U+0045
  153.75 +0x46	U+0046
  153.76 +0x47	U+0047
  153.77 +0x48	U+0048
  153.78 +0x49	U+0049
  153.79 +0x4a	U+004a
  153.80 +0x4b	U+004b
  153.81 +0x4c	U+004c
  153.82 +0x4d	U+004d
  153.83 +0x4e	U+004e
  153.84 +0x4f	U+004f
  153.85 +0x50	U+0050
  153.86 +0x51	U+0051
  153.87 +0x52	U+0052
  153.88 +0x53	U+0053
  153.89 +0x54	U+0054
  153.90 +0x55	U+0055
  153.91 +0x56	U+0056
  153.92 +0x57	U+0057
  153.93 +0x58	U+0058
  153.94 +0x59	U+0059
  153.95 +0x5a	U+005a
  153.96 +0x5b	U+005b
  153.97 +0x5c	U+005c
  153.98 +0x5d	U+005d
  153.99 +0x5e	U+005e
 153.100 +0x5f	U+005f
 153.101 +0x60	U+0060
 153.102 +0x61	U+0061
 153.103 +0x62	U+0062
 153.104 +0x63	U+0063
 153.105 +0x64	U+0064
 153.106 +0x65	U+0065
 153.107 +0x66	U+0066
 153.108 +0x67	U+0067
 153.109 +0x68	U+0068
 153.110 +0x69	U+0069
 153.111 +0x6a	U+006a
 153.112 +0x6b	U+006b
 153.113 +0x6c	U+006c
 153.114 +0x6d	U+006d
 153.115 +0x6e	U+006e
 153.116 +0x6f	U+006f
 153.117 +0x70	U+0070
 153.118 +0x71	U+0071
 153.119 +0x72	U+0072
 153.120 +0x73	U+0073
 153.121 +0x74	U+0074
 153.122 +0x75	U+0075
 153.123 +0x76	U+0076
 153.124 +0x77	U+0077
 153.125 +0x78	U+0078
 153.126 +0x79	U+0079
 153.127 +0x7a	U+007a
 153.128 +0x7b	U+007b
 153.129 +0x7c	U+007c
 153.130 +0x7d	U+007d
 153.131 +0x7e	U+007e
 153.132 +0x7f	U+007f
 153.133 +0x80	U+00c4
 153.134 +0x81	U+00c5
 153.135 +0x82	U+00c7
 153.136 +0x83	U+00c9
 153.137 +0x84	U+00d1
 153.138 +0x85	U+00d6
 153.139 +0x86	U+00dc
 153.140 +0x87	U+00e1
 153.141 +0x88	U+00e0
 153.142 +0x89	U+00e2
 153.143 +0x8a	U+00e4
 153.144 +0x8b	U+00e3
 153.145 +0x8c	U+00e5
 153.146 +0x8d	U+00e7
 153.147 +0x8e	U+00e9
 153.148 +0x8f	U+00e8
 153.149 +0x90	U+00ea
 153.150 +0x91	U+00eb
 153.151 +0x92	U+00ed
 153.152 +0x93	U+00ec
 153.153 +0x94	U+00ee
 153.154 +0x95	U+00ef
 153.155 +0x96	U+00f1
 153.156 +0x97	U+00f3
 153.157 +0x98	U+00f2
 153.158 +0x99	U+00f4
 153.159 +0x9a	U+00f6
 153.160 +0x9b	U+00f5
 153.161 +0x9c	U+00fa
 153.162 +0x9d	U+00f9
 153.163 +0x9e	U+00fb
 153.164 +0x9f	U+00fc
 153.165 +0xa0	U+2020
 153.166 +0xa1	U+00b0
 153.167 +0xa2	U+00a2
 153.168 +0xa3	U+00a3
 153.169 +0xa4	U+00a7
 153.170 +0xa5	U+2022
 153.171 +0xa6	U+00b6
 153.172 +0xa7	U+00df
 153.173 +0xa8	U+00ae
 153.174 +0xa9	U+00a9
 153.175 +0xaa	U+2122
 153.176 +0xab	U+00b4
 153.177 +0xac	U+00a8
 153.178 +0xad	U+2260
 153.179 +0xae	U+0102
 153.180 +0xaf	U+015e
 153.181 +0xb0	U+221e
 153.182 +0xb1	U+00b1
 153.183 +0xb2	U+2264
 153.184 +0xb3	U+2265
 153.185 +0xb4	U+00a5
 153.186 +0xb5	U+00b5
 153.187 +0xb6	U+2202
 153.188 +0xb7	U+2211
 153.189 +0xb8	U+220f
 153.190 +0xb9	U+03c0
 153.191 +0xba	U+222b
 153.192 +0xbb	U+00aa
 153.193 +0xbc	U+00ba
 153.194 +0xbd	U+2126
 153.195 +0xbe	U+0103
 153.196 +0xbf	U+015f
 153.197 +0xc0	U+00bf
 153.198 +0xc1	U+00a1
 153.199 +0xc2	U+00ac
 153.200 +0xc3	U+221a
 153.201 +0xc4	U+0192
 153.202 +0xc5	U+2248
 153.203 +0xc6	U+2206
 153.204 +0xc7	U+00ab
 153.205 +0xc8	U+00bb
 153.206 +0xc9	U+2026
 153.207 +0xca	U+00a0
 153.208 +0xcb	U+00c0
 153.209 +0xcc	U+00c3
 153.210 +0xcd	U+00d5
 153.211 +0xce	U+0152
 153.212 +0xcf	U+0153
 153.213 +0xd0	U+2013
 153.214 +0xd1	U+2014
 153.215 +0xd2	U+201c
 153.216 +0xd3	U+201d
 153.217 +0xd4	U+2018
 153.218 +0xd5	U+2019
 153.219 +0xd6	U+00f7
 153.220 +0xd7	U+25ca
 153.221 +0xd8	U+00ff
 153.222 +0xd9	U+0178
 153.223 +0xda	U+2044
 153.224 +0xdb	U+00a4
 153.225 +0xdc	U+2039
 153.226 +0xdd	U+203a
 153.227 +0xde	U+0162
 153.228 +0xdf	U+0163
 153.229 +0xe0	U+2021
 153.230 +0xe1	U+00b7
 153.231 +0xe2	U+201a
 153.232 +0xe3	U+201e
 153.233 +0xe4	U+2030
 153.234 +0xe5	U+00c2
 153.235 +0xe6	U+00ca
 153.236 +0xe7	U+00c1
 153.237 +0xe8	U+00cb
 153.238 +0xe9	U+00c8
 153.239 +0xea	U+00cd
 153.240 +0xeb	U+00ce
 153.241 +0xec	U+00cf
 153.242 +0xed	U+00cc
 153.243 +0xee	U+00d3
 153.244 +0xef	U+00d4
 153.245 +0xf0	U+f8ff
 153.246 +0xf1	U+00d2
 153.247 +0xf2	U+00da
 153.248 +0xf3	U+00db
 153.249 +0xf4	U+00d9
 153.250 +0xf5	U+0131
 153.251 +0xf6	U+02c6
 153.252 +0xf7	U+02dc
 153.253 +0xf8	U+00af
 153.254 +0xf9	U+02d8
 153.255 +0xfa	U+02d9
 153.256 +0xfb	U+02da
 153.257 +0xfc	U+00b8
 153.258 +0xfd	U+02dd
 153.259 +0xfe	U+02db
 153.260 +0xff	U+02c7
   154.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   154.2 +++ b/make/tools/CharsetMapping/MacSymbol.map	Tue Jan 20 09:42:07 2009 -0800
   154.3 @@ -0,0 +1,257 @@
   154.4 +#Generated from MacSymbol.java
   154.5 +0x00	U+0000
   154.6 +0x01	U+0001
   154.7 +0x02	U+0002
   154.8 +0x03	U+0003
   154.9 +0x04	U+0004
  154.10 +0x05	U+0005
  154.11 +0x06	U+0006
  154.12 +0x07	U+0007
  154.13 +0x08	U+0008
  154.14 +0x09	U+0009
  154.15 +0x0a	U+000a
  154.16 +0x0b	U+000b
  154.17 +0x0c	U+000c
  154.18 +0x0d	U+000d
  154.19 +0x0e	U+000e
  154.20 +0x0f	U+000f
  154.21 +0x10	U+0010
  154.22 +0x11	U+0011
  154.23 +0x12	U+0012
  154.24 +0x13	U+0013
  154.25 +0x14	U+0014
  154.26 +0x15	U+0015
  154.27 +0x16	U+0016
  154.28 +0x17	U+0017
  154.29 +0x18	U+0018
  154.30 +0x19	U+0019
  154.31 +0x1a	U+001a
  154.32 +0x1b	U+001b
  154.33 +0x1c	U+001c
  154.34 +0x1d	U+001d
  154.35 +0x1e	U+001e
  154.36 +0x1f	U+001f
  154.37 +0x20	U+0020
  154.38 +0x21	U+0021
  154.39 +0x22	U+2200
  154.40 +0x23	U+0023
  154.41 +0x24	U+2203
  154.42 +0x25	U+0025
  154.43 +0x26	U+0026
  154.44 +0x27	U+220d
  154.45 +0x28	U+0028
  154.46 +0x29	U+0029
  154.47 +0x2a	U+2217
  154.48 +0x2b	U+002b
  154.49 +0x2c	U+002c
  154.50 +0x2d	U+2212
  154.51 +0x2e	U+002e
  154.52 +0x2f	U+002f
  154.53 +0x30	U+0030
  154.54 +0x31	U+0031
  154.55 +0x32	U+0032
  154.56 +0x33	U+0033
  154.57 +0x34	U+0034
  154.58 +0x35	U+0035
  154.59 +0x36	U+0036
  154.60 +0x37	U+0037
  154.61 +0x38	U+0038
  154.62 +0x39	U+0039
  154.63 +0x3a	U+003a
  154.64 +0x3b	U+003b
  154.65 +0x3c	U+003c
  154.66 +0x3d	U+003d
  154.67 +0x3e	U+003e
  154.68 +0x3f	U+003f
  154.69 +0x40	U+2245
  154.70 +0x41	U+0391
  154.71 +0x42	U+0392
  154.72 +0x43	U+03a7
  154.73 +0x44	U+0394
  154.74 +0x45	U+0395
  154.75 +0x46	U+03a6
  154.76 +0x47	U+0393
  154.77 +0x48	U+0397
  154.78 +0x49	U+0399
  154.79 +0x4a	U+03d1
  154.80 +0x4b	U+039a
  154.81 +0x4c	U+039b
  154.82 +0x4d	U+039c
  154.83 +0x4e	U+039d
  154.84 +0x4f	U+039f
  154.85 +0x50	U+03a0
  154.86 +0x51	U+0398
  154.87 +0x52	U+03a1
  154.88 +0x53	U+03a3
  154.89 +0x54	U+03a4
  154.90 +0x55	U+03a5
  154.91 +0x56	U+03c2
  154.92 +0x57	U+03a9
  154.93 +0x58	U+039e
  154.94 +0x59	U+03a8
  154.95 +0x5a	U+0396
  154.96 +0x5b	U+005b
  154.97 +0x5c	U+2234
  154.98 +0x5d	U+005d
  154.99 +0x5e	U+22a5
 154.100 +0x5f	U+005f
 154.101 +0x60	U+f8e5
 154.102 +0x61	U+03b1
 154.103 +0x62	U+03b2
 154.104 +0x63	U+03c7
 154.105 +0x64	U+03b4
 154.106 +0x65	U+03b5
 154.107 +0x66	U+03c6
 154.108 +0x67	U+03b3
 154.109 +0x68	U+03b7
 154.110 +0x69	U+03b9
 154.111 +0x6a	U+03d5
 154.112 +0x6b	U+03ba
 154.113 +0x6c	U+03bb
 154.114 +0x6d	U+03bc
 154.115 +0x6e	U+03bd
 154.116 +0x6f	U+03bf
 154.117 +0x70	U+03c0
 154.118 +0x71	U+03b8
 154.119 +0x72	U+03c1
 154.120 +0x73	U+03c3
 154.121 +0x74	U+03c4
 154.122 +0x75	U+03c5
 154.123 +0x76	U+03d6
 154.124 +0x77	U+03c9
 154.125 +0x78	U+03be
 154.126 +0x79	U+03c8
 154.127 +0x7a	U+03b6
 154.128 +0x7b	U+007b
 154.129 +0x7c	U+007c
 154.130 +0x7d	U+007d
 154.131 +0x7e	U+223c
 154.132 +0x7f	U+007f
 154.133 +0x80	U+fffd
 154.134 +0x81	U+fffd
 154.135 +0x82	U+fffd
 154.136 +0x83	U+fffd
 154.137 +0x84	U+fffd
 154.138 +0x85	U+fffd
 154.139 +0x86	U+fffd
 154.140 +0x87	U+fffd
 154.141 +0x88	U+fffd
 154.142 +0x89	U+fffd
 154.143 +0x8a	U+fffd
 154.144 +0x8b	U+fffd
 154.145 +0x8c	U+fffd
 154.146 +0x8d	U+fffd
 154.147 +0x8e	U+fffd
 154.148 +0x8f	U+fffd
 154.149 +0x90	U+fffd
 154.150 +0x91	U+fffd
 154.151 +0x92	U+fffd
 154.152 +0x93	U+fffd
 154.153 +0x94	U+fffd
 154.154 +0x95	U+fffd
 154.155 +0x96	U+fffd
 154.156 +0x97	U+fffd
 154.157 +0x98	U+fffd
 154.158 +0x99	U+fffd
 154.159 +0x9a	U+fffd
 154.160 +0x9b	U+fffd
 154.161 +0x9c	U+fffd
 154.162 +0x9d	U+fffd
 154.163 +0x9e	U+fffd
 154.164 +0x9f	U+fffd
 154.165 +0xa0	U+20ac
 154.166 +0xa1	U+03d2
 154.167 +0xa2	U+2032
 154.168 +0xa3	U+2264
 154.169 +0xa4	U+2044
 154.170 +0xa5	U+221e
 154.171 +0xa6	U+0192
 154.172 +0xa7	U+2663
 154.173 +0xa8	U+2666
 154.174 +0xa9	U+2665
 154.175 +0xaa	U+2660
 154.176 +0xab	U+2194
 154.177 +0xac	U+2190
 154.178 +0xad	U+2191
 154.179 +0xae	U+2192
 154.180 +0xaf	U+2193
 154.181 +0xb0	U+00b0
 154.182 +0xb1	U+00b1
 154.183 +0xb2	U+2033
 154.184 +0xb3	U+2265
 154.185 +0xb4	U+00d7
 154.186 +0xb5	U+221d
 154.187 +0xb6	U+2202
 154.188 +0xb7	U+2022
 154.189 +0xb8	U+00f7
 154.190 +0xb9	U+2260
 154.191 +0xba	U+2261
 154.192 +0xbb	U+2248
 154.193 +0xbc	U+2026
 154.194 +0xbd	U+f8e6
 154.195 +0xbe	U+f8e7
 154.196 +0xbf	U+21b5
 154.197 +0xc0	U+2135
 154.198 +0xc1	U+2111
 154.199 +0xc2	U+211c
 154.200 +0xc3	U+2118
 154.201 +0xc4	U+2297
 154.202 +0xc5	U+2295
 154.203 +0xc6	U+2205
 154.204 +0xc7	U+2229
 154.205 +0xc8	U+222a
 154.206 +0xc9	U+2283
 154.207 +0xca	U+2287
 154.208 +0xcb	U+2284
 154.209 +0xcc	U+2282
 154.210 +0xcd	U+2286
 154.211 +0xce	U+2208
 154.212 +0xcf	U+2209
 154.213 +0xd0	U+2220
 154.214 +0xd1	U+2207
 154.215 +0xd2	U+00ae
 154.216 +0xd3	U+00a9
 154.217 +0xd4	U+2122
 154.218 +0xd5	U+220f
 154.219 +0xd6	U+221a
 154.220 +0xd7	U+22c5
 154.221 +0xd8	U+00ac
 154.222 +0xd9	U+2227
 154.223 +0xda	U+2228
 154.224 +0xdb	U+21d4
 154.225 +0xdc	U+21d0
 154.226 +0xdd	U+21d1
 154.227 +0xde	U+21d2
 154.228 +0xdf	U+21d3
 154.229 +0xe0	U+22c4
 154.230 +0xe1	U+3008
 154.231 +0xe2	U+fffd
 154.232 +0xe3	U+fffd
 154.233 +0xe4	U+fffd
 154.234 +0xe5	U+2211
 154.235 +0xe6	U+fffd
 154.236 +0xe7	U+fffd
 154.237 +0xe8	U+fffd
 154.238 +0xe9	U+fffd
 154.239 +0xea	U+fffd
 154.240 +0xeb	U+fffd
 154.241 +0xec	U+fffd
 154.242 +0xed	U+fffd
 154.243 +0xee	U+fffd
 154.244 +0xef	U+f8f4
 154.245 +0xf0	U+f8ff
 154.246 +0xf1	U+3009
 154.247 +0xf2	U+222b
 154.248 +0xf3	U+2320
 154.249 +0xf4	U+fffd
 154.250 +0xf5	U+2321
 154.251 +0xf6	U+fffd
 154.252 +0xf7	U+fffd
 154.253 +0xf8	U+fffd
 154.254 +0xf9	U+fffd
 154.255 +0xfa	U+fffd
 154.256 +0xfb	U+fffd
 154.257 +0xfc	U+fffd
 154.258 +0xfd	U+fffd
 154.259 +0xfe	U+fffd
 154.260 +0xff	U+fffd
   155.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   155.2 +++ b/make/tools/CharsetMapping/MacThai.map	Tue Jan 20 09:42:07 2009 -0800
   155.3 @@ -0,0 +1,257 @@
   155.4 +#Generated from MacThai.java
   155.5 +0x00	U+0000
   155.6 +0x01	U+0001
   155.7 +0x02	U+0002
   155.8 +0x03	U+0003
   155.9 +0x04	U+0004
  155.10 +0x05	U+0005
  155.11 +0x06	U+0006
  155.12 +0x07	U+0007
  155.13 +0x08	U+0008
  155.14 +0x09	U+0009
  155.15 +0x0a	U+000a
  155.16 +0x0b	U+000b
  155.17 +0x0c	U+000c
  155.18 +0x0d	U+000d
  155.19 +0x0e	U+000e
  155.20 +0x0f	U+000f
  155.21 +0x10	U+0010
  155.22 +0x11	U+0011
  155.23 +0x12	U+0012
  155.24 +0x13	U+0013
  155.25 +0x14	U+0014
  155.26 +0x15	U+0015
  155.27 +0x16	U+0016
  155.28 +0x17	U+0017
  155.29 +0x18	U+0018
  155.30 +0x19	U+0019
  155.31 +0x1a	U+001a
  155.32 +0x1b	U+001b
  155.33 +0x1c	U+001c
  155.34 +0x1d	U+001d
  155.35 +0x1e	U+001e
  155.36 +0x1f	U+001f
  155.37 +0x20	U+0020
  155.38 +0x21	U+0021
  155.39 +0x22	U+0022
  155.40 +0x23	U+0023
  155.41 +0x24	U+0024
  155.42 +0x25	U+0025
  155.43 +0x26	U+0026
  155.44 +0x27	U+0027
  155.45 +0x28	U+0028
  155.46 +0x29	U+0029
  155.47 +0x2a	U+002a
  155.48 +0x2b	U+002b
  155.49 +0x2c	U+002c
  155.50 +0x2d	U+002d
  155.51 +0x2e	U+002e
  155.52 +0x2f	U+002f
  155.53 +0x30	U+0030
  155.54 +0x31	U+0031
  155.55 +0x32	U+0032
  155.56 +0x33	U+0033
  155.57 +0x34	U+0034
  155.58 +0x35	U+0035
  155.59 +0x36	U+0036
  155.60 +0x37	U+0037
  155.61 +0x38	U+0038
  155.62 +0x39	U+0039
  155.63 +0x3a	U+003a
  155.64 +0x3b	U+003b
  155.65 +0x3c	U+003c
  155.66 +0x3d	U+003d
  155.67 +0x3e	U+003e
  155.68 +0x3f	U+003f
  155.69 +0x40	U+0040
  155.70 +0x41	U+0041
  155.71 +0x42	U+0042
  155.72 +0x43	U+0043
  155.73 +0x44	U+0044
  155.74 +0x45	U+0045
  155.75 +0x46	U+0046
  155.76 +0x47	U+0047
  155.77 +0x48	U+0048
  155.78 +0x49	U+0049
  155.79 +0x4a	U+004a
  155.80 +0x4b	U+004b
  155.81 +0x4c	U+004c
  155.82 +0x4d	U+004d
  155.83 +0x4e	U+004e
  155.84 +0x4f	U+004f
  155.85 +0x50	U+0050
  155.86 +0x51	U+0051
  155.87 +0x52	U+0052
  155.88 +0x53	U+0053
  155.89 +0x54	U+0054
  155.90 +0x55	U+0055
  155.91 +0x56	U+0056
  155.92 +0x57	U+0057
  155.93 +0x58	U+0058
  155.94 +0x59	U+0059
  155.95 +0x5a	U+005a
  155.96 +0x5b	U+005b
  155.97 +0x5c	U+005c
  155.98 +0x5d	U+005d
  155.99 +0x5e	U+005e
 155.100 +0x5f	U+005f
 155.101 +0x60	U+0060
 155.102 +0x61	U+0061
 155.103 +0x62	U+0062
 155.104 +0x63	U+0063
 155.105 +0x64	U+0064
 155.106 +0x65	U+0065
 155.107 +0x66	U+0066
 155.108 +0x67	U+0067
 155.109 +0x68	U+0068
 155.110 +0x69	U+0069
 155.111 +0x6a	U+006a
 155.112 +0x6b	U+006b
 155.113 +0x6c	U+006c
 155.114 +0x6d	U+006d
 155.115 +0x6e	U+006e
 155.116 +0x6f	U+006f
 155.117 +0x70	U+0070
 155.118 +0x71	U+0071
 155.119 +0x72	U+0072
 155.120 +0x73	U+0073
 155.121 +0x74	U+0074
 155.122 +0x75	U+0075
 155.123 +0x76	U+0076
 155.124 +0x77	U+0077
 155.125 +0x78	U+0078
 155.126 +0x79	U+0079
 155.127 +0x7a	U+007a
 155.128 +0x7b	U+007b
 155.129 +0x7c	U+007c
 155.130 +0x7d	U+007d
 155.131 +0x7e	U+007e
 155.132 +0x7f	U+007f
 155.133 +0x80	U+00ab
 155.134 +0x81	U+00bb
 155.135 +0x82	U+2026
 155.136 +0x83	U+f88c
 155.137 +0x84	U+f88f
 155.138 +0x85	U+f892
 155.139 +0x86	U+f895
 155.140 +0x87	U+f898
 155.141 +0x88	U+f88b
 155.142 +0x89	U+f88e
 155.143 +0x8a	U+f891
 155.144 +0x8b	U+f894
 155.145 +0x8c	U+f897
 155.146 +0x8d	U+201c
 155.147 +0x8e	U+201d
 155.148 +0x8f	U+f899
 155.149 +0x90	U+fffd
 155.150 +0x91	U+2022
 155.151 +0x92	U+f884
 155.152 +0x93	U+f889
 155.153 +0x94	U+f885
 155.154 +0x95	U+f886
 155.155 +0x96	U+f887
 155.156 +0x97	U+f888
 155.157 +0x98	U+f88a
 155.158 +0x99	U+f88d
 155.159 +0x9a	U+f890
 155.160 +0x9b	U+f893
 155.161 +0x9c	U+f896
 155.162 +0x9d	U+2018
 155.163 +0x9e	U+2019
 155.164 +0x9f	U+fffd
 155.165 +0xa0	U+00a0
 155.166 +0xa1	U+0e01
 155.167 +0xa2	U+0e02
 155.168 +0xa3	U+0e03
 155.169 +0xa4	U+0e04
 155.170 +0xa5	U+0e05
 155.171 +0xa6	U+0e06
 155.172 +0xa7	U+0e07
 155.173 +0xa8	U+0e08
 155.174 +0xa9	U+0e09
 155.175 +0xaa	U+0e0a
 155.176 +0xab	U+0e0b
 155.177 +0xac	U+0e0c
 155.178 +0xad	U+0e0d
 155.179 +0xae	U+0e0e
 155.180 +0xaf	U+0e0f
 155.181 +0xb0	U+0e10
 155.182 +0xb1	U+0e11
 155.183 +0xb2	U+0e12
 155.184 +0xb3	U+0e13
 155.185 +0xb4	U+0e14
 155.186 +0xb5	U+0e15
 155.187 +0xb6	U+0e16
 155.188 +0xb7	U+0e17
 155.189 +0xb8	U+0e18
 155.190 +0xb9	U+0e19
 155.191 +0xba	U+0e1a
 155.192 +0xbb	U+0e1b
 155.193 +0xbc	U+0e1c
 155.194 +0xbd	U+0e1d
 155.195 +0xbe	U+0e1e
 155.196 +0xbf	U+0e1f
 155.197 +0xc0	U+0e20
 155.198 +0xc1	U+0e21
 155.199 +0xc2	U+0e22
 155.200 +0xc3	U+0e23
 155.201 +0xc4	U+0e24
 155.202 +0xc5	U+0e25
 155.203 +0xc6	U+0e26
 155.204 +0xc7	U+0e27
 155.205 +0xc8	U+0e28
 155.206 +0xc9	U+0e29
 155.207 +0xca	U+0e2a
 155.208 +0xcb	U+0e2b
 155.209 +0xcc	U+0e2c
 155.210 +0xcd	U+0e2d
 155.211 +0xce	U+0e2e
 155.212 +0xcf	U+0e2f
 155.213 +0xd0	U+0e30
 155.214 +0xd1	U+0e31
 155.215 +0xd2	U+0e32
 155.216 +0xd3	U+0e33
 155.217 +0xd4	U+0e34
 155.218 +0xd5	U+0e35
 155.219 +0xd6	U+0e36
 155.220 +0xd7	U+0e37
 155.221 +0xd8	U+0e38
 155.222 +0xd9	U+0e39
 155.223 +0xda	U+0e3a
 155.224 +0xdb	U+feff
 155.225 +0xdc	U+200b
 155.226 +0xdd	U+2013
 155.227 +0xde	U+2014
 155.228 +0xdf	U+0e3f
 155.229 +0xe0	U+0e40
 155.230 +0xe1	U+0e41
 155.231 +0xe2	U+0e42
 155.232 +0xe3	U+0e43
 155.233 +0xe4	U+0e44
 155.234 +0xe5	U+0e45
 155.235 +0xe6	U+0e46
 155.236 +0xe7	U+0e47
 155.237 +0xe8	U+0e48
 155.238 +0xe9	U+0e49
 155.239 +0xea	U+0e4a
 155.240 +0xeb	U+0e4b
 155.241 +0xec	U+0e4c
 155.242 +0xed	U+0e4d
 155.243 +0xee	U+2122
 155.244 +0xef	U+0e4f
 155.245 +0xf0	U+0e50
 155.246 +0xf1	U+0e51
 155.247 +0xf2	U+0e52
 155.248 +0xf3	U+0e53
 155.249 +0xf4	U+0e54
 155.250 +0xf5	U+0e55
 155.251 +0xf6	U+0e56
 155.252 +0xf7	U+0e57
 155.253 +0xf8	U+0e58
 155.254 +0xf9	U+0e59
 155.255 +0xfa	U+00ae
 155.256 +0xfb	U+00a9
 155.257 +0xfc	U+fffd
 155.258 +0xfd	U+fffd
 155.259 +0xfe	U+fffd
 155.260 +0xff	U+fffd
   156.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   156.2 +++ b/make/tools/CharsetMapping/MacTurkish.map	Tue Jan 20 09:42:07 2009 -0800
   156.3 @@ -0,0 +1,257 @@
   156.4 +#Generated from MacTurkish.java
   156.5 +0x00	U+0000
   156.6 +0x01	U+0001
   156.7 +0x02	U+0002
   156.8 +0x03	U+0003
   156.9 +0x04	U+0004
  156.10 +0x05	U+0005
  156.11 +0x06	U+0006
  156.12 +0x07	U+0007
  156.13 +0x08	U+0008
  156.14 +0x09	U+0009
  156.15 +0x0a	U+000a
  156.16 +0x0b	U+000b
  156.17 +0x0c	U+000c
  156.18 +0x0d	U+000d
  156.19 +0x0e	U+000e
  156.20 +0x0f	U+000f
  156.21 +0x10	U+0010
  156.22 +0x11	U+0011
  156.23 +0x12	U+0012
  156.24 +0x13	U+0013
  156.25 +0x14	U+0014
  156.26 +0x15	U+0015
  156.27 +0x16	U+0016
  156.28 +0x17	U+0017
  156.29 +0x18	U+0018
  156.30 +0x19	U+0019
  156.31 +0x1a	U+001a
  156.32 +0x1b	U+001b
  156.33 +0x1c	U+001c
  156.34 +0x1d	U+001d
  156.35 +0x1e	U+001e
  156.36 +0x1f	U+001f
  156.37 +0x20	U+0020
  156.38 +0x21	U+0021
  156.39 +0x22	U+0022
  156.40 +0x23	U+0023
  156.41 +0x24	U+0024
  156.42 +0x25	U+0025
  156.43 +0x26	U+0026
  156.44 +0x27	U+0027
  156.45 +0x28	U+0028
  156.46 +0x29	U+0029
  156.47 +0x2a	U+002a
  156.48 +0x2b	U+002b
  156.49 +0x2c	U+002c
  156.50 +0x2d	U+002d
  156.51 +0x2e	U+002e
  156.52 +0x2f	U+002f
  156.53 +0x30	U+0030
  156.54 +0x31	U+0031
  156.55 +0x32	U+0032
  156.56 +0x33	U+0033
  156.57 +0x34	U+0034
  156.58 +0x35	U+0035
  156.59 +0x36	U+0036
  156.60 +0x37	U+0037
  156.61 +0x38	U+0038
  156.62 +0x39	U+0039
  156.63 +0x3a	U+003a
  156.64 +0x3b	U+003b
  156.65 +0x3c	U+003c
  156.66 +0x3d	U+003d
  156.67 +0x3e	U+003e
  156.68 +0x3f	U+003f
  156.69 +0x40	U+0040
  156.70 +0x41	U+0041
  156.71 +0x42	U+0042
  156.72 +0x43	U+0043
  156.73 +0x44	U+0044
  156.74 +0x45	U+0045
  156.75 +0x46	U+0046
  156.76 +0x47	U+0047
  156.77 +0x48	U+0048
  156.78 +0x49	U+0049
  156.79 +0x4a	U+004a
  156.80 +0x4b	U+004b
  156.81 +0x4c	U+004c
  156.82 +0x4d	U+004d
  156.83 +0x4e	U+004e
  156.84 +0x4f	U+004f
  156.85 +0x50	U+0050
  156.86 +0x51	U+0051
  156.87 +0x52	U+0052
  156.88 +0x53	U+0053
  156.89 +0x54	U+0054
  156.90 +0x55	U+0055
  156.91 +0x56	U+0056
  156.92 +0x57	U+0057
  156.93 +0x58	U+0058
  156.94 +0x59	U+0059
  156.95 +0x5a	U+005a
  156.96 +0x5b	U+005b
  156.97 +0x5c	U+005c
  156.98 +0x5d	U+005d
  156.99 +0x5e	U+005e
 156.100 +0x5f	U+005f
 156.101 +0x60	U+0060
 156.102 +0x61	U+0061
 156.103 +0x62	U+0062
 156.104 +0x63	U+0063
 156.105 +0x64	U+0064
 156.106 +0x65	U+0065
 156.107 +0x66	U+0066
 156.108 +0x67	U+0067
 156.109 +0x68	U+0068
 156.110 +0x69	U+0069
 156.111 +0x6a	U+006a
 156.112 +0x6b	U+006b
 156.113 +0x6c	U+006c
 156.114 +0x6d	U+006d
 156.115 +0x6e	U+006e
 156.116 +0x6f	U+006f
 156.117 +0x70	U+0070
 156.118 +0x71	U+0071
 156.119 +0x72	U+0072
 156.120 +0x73	U+0073
 156.121 +0x74	U+0074
 156.122 +0x75	U+0075
 156.123 +0x76	U+0076
 156.124 +0x77	U+0077
 156.125 +0x78	U+0078
 156.126 +0x79	U+0079
 156.127 +0x7a	U+007a
 156.128 +0x7b	U+007b
 156.129 +0x7c	U+007c
 156.130 +0x7d	U+007d
 156.131 +0x7e	U+007e
 156.132 +0x7f	U+007f
 156.133 +0x80	U+00c4
 156.134 +0x81	U+00c5
 156.135 +0x82	U+00c7
 156.136 +0x83	U+00c9
 156.137 +0x84	U+00d1
 156.138 +0x85	U+00d6
 156.139 +0x86	U+00dc
 156.140 +0x87	U+00e1
 156.141 +0x88	U+00e0
 156.142 +0x89	U+00e2
 156.143 +0x8a	U+00e4
 156.144 +0x8b	U+00e3
 156.145 +0x8c	U+00e5
 156.146 +0x8d	U+00e7
 156.147 +0x8e	U+00e9
 156.148 +0x8f	U+00e8
 156.149 +0x90	U+00ea
 156.150 +0x91	U+00eb
 156.151 +0x92	U+00ed
 156.152 +0x93	U+00ec
 156.153 +0x94	U+00ee
 156.154 +0x95	U+00ef
 156.155 +0x96	U+00f1
 156.156 +0x97	U+00f3
 156.157 +0x98	U+00f2
 156.158 +0x99	U+00f4
 156.159 +0x9a	U+00f6
 156.160 +0x9b	U+00f5
 156.161 +0x9c	U+00fa
 156.162 +0x9d	U+00f9
 156.163 +0x9e	U+00fb
 156.164 +0x9f	U+00fc
 156.165 +0xa0	U+2020
 156.166 +0xa1	U+00b0
 156.167 +0xa2	U+00a2
 156.168 +0xa3	U+00a3
 156.169 +0xa4	U+00a7
 156.170 +0xa5	U+2022
 156.171 +0xa6	U+00b6
 156.172 +0xa7	U+00df
 156.173 +0xa8	U+00ae
 156.174 +0xa9	U+00a9
 156.175 +0xaa	U+2122
 156.176 +0xab	U+00b4
 156.177 +0xac	U+00a8
 156.178 +0xad	U+2260
 156.179 +0xae	U+00c6
 156.180 +0xaf	U+00d8
 156.181 +0xb0	U+221e
 156.182 +0xb1	U+00b1
 156.183 +0xb2	U+2264
 156.184 +0xb3	U+2265
 156.185 +0xb4	U+00a5
 156.186 +0xb5	U+00b5
 156.187 +0xb6	U+2202
 156.188 +0xb7	U+2211
 156.189 +0xb8	U+220f
 156.190 +0xb9	U+03c0
 156.191 +0xba	U+222b
 156.192 +0xbb	U+00aa
 156.193 +0xbc	U+00ba
 156.194 +0xbd	U+2126
 156.195 +0xbe	U+00e6
 156.196 +0xbf	U+00f8
 156.197 +0xc0	U+00bf
 156.198 +0xc1	U+00a1
 156.199 +0xc2	U+00ac
 156.200 +0xc3	U+221a
 156.201 +0xc4	U+0192
 156.202 +0xc5	U+2248
 156.203 +0xc6	U+2206
 156.204 +0xc7	U+00ab
 156.205 +0xc8	U+00bb
 156.206 +0xc9	U+2026
 156.207 +0xca	U+00a0
 156.208 +0xcb	U+00c0
 156.209 +0xcc	U+00c3
 156.210 +0xcd	U+00d5
 156.211 +0xce	U+0152
 156.212 +0xcf	U+0153
 156.213 +0xd0	U+2013
 156.214 +0xd1	U+2014
 156.215 +0xd2	U+201c
 156.216 +0xd3	U+201d
 156.217 +0xd4	U+2018
 156.218 +0xd5	U+2019
 156.219 +0xd6	U+00f7
 156.220 +0xd7	U+25ca
 156.221 +0xd8	U+00ff
 156.222 +0xd9	U+0178
 156.223 +0xda	U+011e
 156.224 +0xdb	U+011f
 156.225 +0xdc	U+0130
 156.226 +0xdd	U+0131
 156.227 +0xde	U+015e
 156.228 +0xdf	U+015f
 156.229 +0xe0	U+2021
 156.230 +0xe1	U+00b7
 156.231 +0xe2	U+201a
 156.232 +0xe3	U+201e
 156.233 +0xe4	U+2030
 156.234 +0xe5	U+00c2
 156.235 +0xe6	U+00ca
 156.236 +0xe7	U+00c1
 156.237 +0xe8	U+00cb
 156.238 +0xe9	U+00c8
 156.239 +0xea	U+00cd
 156.240 +0xeb	U+00ce
 156.241 +0xec	U+00cf
 156.242 +0xed	U+00cc
 156.243 +0xee	U+00d3
 156.244 +0xef	U+00d4
 156.245 +0xf0	U+f8ff
 156.246 +0xf1	U+00d2
 156.247 +0xf2	U+00da
 156.248 +0xf3	U+00db
 156.249 +0xf4	U+00d9
 156.250 +0xf5	U+fffd
 156.251 +0xf6	U+02c6
 156.252 +0xf7	U+02dc
 156.253 +0xf8	U+00af
 156.254 +0xf9	U+02d8
 156.255 +0xfa	U+02d9
 156.256 +0xfb	U+02da
 156.257 +0xfc	U+00b8
 156.258 +0xfd	U+02dd
 156.259 +0xfe	U+02db
 156.260 +0xff	U+02c7
   157.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   157.2 +++ b/make/tools/CharsetMapping/MacUkraine.map	Tue Jan 20 09:42:07 2009 -0800
   157.3 @@ -0,0 +1,257 @@
   157.4 +#Generated from MacUkraine.java
   157.5 +0x00	U+0000
   157.6 +0x01	U+0001
   157.7 +0x02	U+0002
   157.8 +0x03	U+0003
   157.9 +0x04	U+0004
  157.10 +0x05	U+0005
  157.11 +0x06	U+0006
  157.12 +0x07	U+0007
  157.13 +0x08	U+0008
  157.14 +0x09	U+0009
  157.15 +0x0a	U+000a
  157.16 +0x0b	U+000b
  157.17 +0x0c	U+000c
  157.18 +0x0d	U+000d
  157.19 +0x0e	U+000e
  157.20 +0x0f	U+000f
  157.21 +0x10	U+0010
  157.22 +0x11	U+0011
  157.23 +0x12	U+0012
  157.24 +0x13	U+0013
  157.25 +0x14	U+0014
  157.26 +0x15	U+0015
  157.27 +0x16	U+0016
  157.28 +0x17	U+0017
  157.29 +0x18	U+0018
  157.30 +0x19	U+0019
  157.31 +0x1a	U+001a
  157.32 +0x1b	U+001b
  157.33 +0x1c	U+001c
  157.34 +0x1d	U+001d
  157.35 +0x1e	U+001e
  157.36 +0x1f	U+001f
  157.37 +0x20	U+0020
  157.38 +0x21	U+0021
  157.39 +0x22	U+0022
  157.40 +0x23	U+0023
  157.41 +0x24	U+0024
  157.42 +0x25	U+0025
  157.43 +0x26	U+0026
  157.44 +0x27	U+0027
  157.45 +0x28	U+0028
  157.46 +0x29	U+0029
  157.47 +0x2a	U+002a
  157.48 +0x2b	U+002b
  157.49 +0x2c	U+002c
  157.50 +0x2d	U+002d
  157.51 +0x2e	U+002e
  157.52 +0x2f	U+002f
  157.53 +0x30	U+0030
  157.54 +0x31	U+0031
  157.55 +0x32	U+0032
  157.56 +0x33	U+0033
  157.57 +0x34	U+0034
  157.58 +0x35	U+0035
  157.59 +0x36	U+0036
  157.60 +0x37	U+0037
  157.61 +0x38	U+0038
  157.62 +0x39	U+0039
  157.63 +0x3a	U+003a
  157.64 +0x3b	U+003b
  157.65 +0x3c	U+003c
  157.66 +0x3d	U+003d
  157.67 +0x3e	U+003e
  157.68 +0x3f	U+003f
  157.69 +0x40	U+0040
  157.70 +0x41	U+0041
  157.71 +0x42	U+0042
  157.72 +0x43	U+0043
  157.73 +0x44	U+0044
  157.74 +0x45	U+0045
  157.75 +0x46	U+0046
  157.76 +0x47	U+0047
  157.77 +0x48	U+0048
  157.78 +0x49	U+0049
  157.79 +0x4a	U+004a
  157.80 +0x4b	U+004b
  157.81 +0x4c	U+004c
  157.82 +0x4d	U+004d
  157.83 +0x4e	U+004e
  157.84 +0x4f	U+004f
  157.85 +0x50	U+0050
  157.86 +0x51	U+0051
  157.87 +0x52	U+0052
  157.88 +0x53	U+0053
  157.89 +0x54	U+0054
  157.90 +0x55	U+0055
  157.91 +0x56	U+0056
  157.92 +0x57	U+0057
  157.93 +0x58	U+0058
  157.94 +0x59	U+0059
  157.95 +0x5a	U+005a
  157.96 +0x5b	U+005b
  157.97 +0x5c	U+005c
  157.98 +0x5d	U+005d
  157.99 +0x5e	U+005e
 157.100 +0x5f	U+005f
 157.101 +0x60	U+0060
 157.102 +0x61	U+0061
 157.103 +0x62	U+0062
 157.104 +0x63	U+0063
 157.105 +0x64	U+0064
 157.106 +0x65	U+0065
 157.107 +0x66	U+0066
 157.108 +0x67	U+0067
 157.109 +0x68	U+0068
 157.110 +0x69	U+0069
 157.111 +0x6a	U+006a
 157.112 +0x6b	U+006b
 157.113 +0x6c	U+006c
 157.114 +0x6d	U+006d
 157.115 +0x6e	U+006e
 157.116 +0x6f	U+006f
 157.117 +0x70	U+0070
 157.118 +0x71	U+0071
 157.119 +0x72	U+0072
 157.120 +0x73	U+0073
 157.121 +0x74	U+0074
 157.122 +0x75	U+0075
 157.123 +0x76	U+0076
 157.124 +0x77	U+0077
 157.125 +0x78	U+0078
 157.126 +0x79	U+0079
 157.127 +0x7a	U+007a
 157.128 +0x7b	U+007b
 157.129 +0x7c	U+007c
 157.130 +0x7d	U+007d
 157.131 +0x7e	U+007e
 157.132 +0x7f	U+007f
 157.133 +0x80	U+0410
 157.134 +0x81	U+0411
 157.135 +0x82	U+0412
 157.136 +0x83	U+0413
 157.137 +0x84	U+0414
 157.138 +0x85	U+0415
 157.139 +0x86	U+0416
 157.140 +0x87	U+0417
 157.141 +0x88	U+0418
 157.142 +0x89	U+0419
 157.143 +0x8a	U+041a
 157.144 +0x8b	U+041b
 157.145 +0x8c	U+041c
 157.146 +0x8d	U+041d
 157.147 +0x8e	U+041e
 157.148 +0x8f	U+041f
 157.149 +0x90	U+0420
 157.150 +0x91	U+0421
 157.151 +0x92	U+0422
 157.152 +0x93	U+0423
 157.153 +0x94	U+0424
 157.154 +0x95	U+0425
 157.155 +0x96	U+0426
 157.156 +0x97	U+0427
 157.157 +0x98	U+0428
 157.158 +0x99	U+0429
 157.159 +0x9a	U+042a
 157.160 +0x9b	U+042b
 157.161 +0x9c	U+042c
 157.162 +0x9d	U+042d
 157.163 +0x9e	U+042e
 157.164 +0x9f	U+042f
 157.165 +0xa0	U+2020
 157.166 +0xa1	U+00b0
 157.167 +0xa2	U+0490
 157.168 +0xa3	U+00a3
 157.169 +0xa4	U+00a7
 157.170 +0xa5	U+2022
 157.171 +0xa6	U+00b6
 157.172 +0xa7	U+0406
 157.173 +0xa8	U+00ae
 157.174 +0xa9	U+00a9
 157.175 +0xaa	U+2122
 157.176 +0xab	U+0402
 157.177 +0xac	U+0452
 157.178 +0xad	U+2260
 157.179 +0xae	U+0403
 157.180 +0xaf	U+0453
 157.181 +0xb0	U+221e
 157.182 +0xb1	U+00b1
 157.183 +0xb2	U+2264
 157.184 +0xb3	U+2265
 157.185 +0xb4	U+0456
 157.186 +0xb5	U+00b5
 157.187 +0xb6	U+0491
 157.188 +0xb7	U+0408
 157.189 +0xb8	U+0404
 157.190 +0xb9	U+0454
 157.191 +0xba	U+0407
 157.192 +0xbb	U+0457
 157.193 +0xbc	U+0409
 157.194 +0xbd	U+0459
 157.195 +0xbe	U+040a
 157.196 +0xbf	U+045a
 157.197 +0xc0	U+0458
 157.198 +0xc1	U+0405
 157.199 +0xc2	U+00ac
 157.200 +0xc3	U+221a
 157.201 +0xc4	U+0192
 157.202 +0xc5	U+2248
 157.203 +0xc6	U+2206
 157.204 +0xc7	U+00ab
 157.205 +0xc8	U+00bb
 157.206 +0xc9	U+2026
 157.207 +0xca	U+00a0
 157.208 +0xcb	U+040b
 157.209 +0xcc	U+045b
 157.210 +0xcd	U+040c
 157.211 +0xce	U+045c
 157.212 +0xcf	U+0455
 157.213 +0xd0	U+2013
 157.214 +0xd1	U+2014
 157.215 +0xd2	U+201c
 157.216 +0xd3	U+201d
 157.217 +0xd4	U+2018
 157.218 +0xd5	U+2019
 157.219 +0xd6	U+00f7
 157.220 +0xd7	U+201e
 157.221 +0xd8	U+040e
 157.222 +0xd9	U+045e
 157.223 +0xda	U+040f
 157.224 +0xdb	U+045f
 157.225 +0xdc	U+2116
 157.226 +0xdd	U+0401
 157.227 +0xde	U+0451
 157.228 +0xdf	U+044f
 157.229 +0xe0	U+0430
 157.230 +0xe1	U+0431
 157.231 +0xe2	U+0432
 157.232 +0xe3	U+0433
 157.233 +0xe4	U+0434
 157.234 +0xe5	U+0435
 157.235 +0xe6	U+0436
 157.236 +0xe7	U+0437
 157.237 +0xe8	U+0438
 157.238 +0xe9	U+0439
 157.239 +0xea	U+043a
 157.240 +0xeb	U+043b
 157.241 +0xec	U+043c
 157.242 +0xed	U+043d
 157.243 +0xee	U+043e
 157.244 +0xef	U+043f
 157.245 +0xf0	U+0440
 157.246 +0xf1	U+0441
 157.247 +0xf2	U+0442
 157.248 +0xf3	U+0443
 157.249 +0xf4	U+0444
 157.250 +0xf5	U+0445
 157.251 +0xf6	U+0446
 157.252 +0xf7	U+0447
 157.253 +0xf8	U+0448
 157.254 +0xf9	U+0449
 157.255 +0xfa	U+044a
 157.256 +0xfb	U+044b
 157.257 +0xfc	U+044c
 157.258 +0xfd	U+044d
 157.259 +0xfe	U+044e
 157.260 +0xff	U+00a4
   158.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   158.2 +++ b/make/tools/CharsetMapping/SingleByte-X.java	Tue Jan 20 09:42:07 2009 -0800
   158.3 @@ -0,0 +1,83 @@
   158.4 +/*
   158.5 + * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
   158.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   158.7 + *
   158.8 + * This code is free software; you can redistribute it and/or modify it
   158.9 + * under the terms of the GNU General Public License version 2 only, as
  158.10 + * published by the Free Software Foundation.  Sun designates this
  158.11 + * particular file as subject to the "Classpath" exception as provided
  158.12 + * by Sun in the LICENSE file that accompanied this code.
  158.13 + *
  158.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
  158.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  158.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  158.17 + * version 2 for more details (a copy is included in the LICENSE file that
  158.18 + * accompanied this code).
  158.19 + *
  158.20 + * You should have received a copy of the GNU General Public License version
  158.21 + * 2 along with this work; if not, write to the Free Software Foundation,
  158.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  158.23 + *
  158.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  158.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
  158.26 + * have any questions.
  158.27 + */
  158.28 +
  158.29 +package $PACKAGE$;
  158.30 +
  158.31 +import java.nio.charset.Charset;
  158.32 +import java.nio.charset.CharsetDecoder;
  158.33 +import java.nio.charset.CharsetEncoder;
  158.34 +import sun.nio.cs.StandardCharsets;
  158.35 +import sun.nio.cs.SingleByte;
  158.36 +import sun.nio.cs.HistoricallyNamedCharset;
  158.37 +import static sun.nio.cs.CharsetMapping.*;
  158.38 +
  158.39 +public class $NAME_CLZ$ extends Charset implements HistoricallyNamedCharset
  158.40 +{
  158.41 +    public $NAME_CLZ$() {
  158.42 +        super("$NAME_CS$", $NAME_ALIASES$);
  158.43 +    }
  158.44 +
  158.45 +    public String historicalName() {
  158.46 +        return "$NAME_HIS$";
  158.47 +    }
  158.48 +
  158.49 +    public boolean contains(Charset cs) {
  158.50 +        $CONTAINS$;
  158.51 +    }
  158.52 +
  158.53 +    public CharsetDecoder newDecoder() {
  158.54 +        return new SingleByte.Decoder(this, b2c);
  158.55 +    }
  158.56 +
  158.57 +    public CharsetEncoder newEncoder() {
  158.58 +        return new SingleByte.Encoder(this, c2b, c2bIndex);
  158.59 +    }
  158.60 +
  158.61 +    public String getDecoderSingleByteMappings() {
  158.62 +        return b2cTable;
  158.63 +    }
  158.64 +
  158.65 +    public char[] getEncoderIndex2() {
  158.66 +        return c2b;
  158.67 +    }
  158.68 +
  158.69 +    public char[] getEncoderIndex1() {
  158.70 +        return c2bIndex;
  158.71 +    }
  158.72 +
  158.73 +    private final static String b2cTable = $B2CTABLE$
  158.74 +
  158.75 +    private final static char[] b2c = b2cTable.toCharArray();
  158.76 +    private final static char[] c2b = new char[$C2BLENGTH$];
  158.77 +    private final static char[] c2bIndex = new char[0x100];
  158.78 +
  158.79 +    static {
  158.80 +        char[] b2cMap = b2c;
  158.81 +        char[] c2bNR = null;
  158.82 +        $NONROUNDTRIP_B2C$
  158.83 +        $NONROUNDTRIP_C2B$
  158.84 +        SingleByte.initC2B(b2cMap, c2bNR, c2b, c2bIndex);
  158.85 +    }
  158.86 +}
   159.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   159.2 +++ b/make/tools/CharsetMapping/TIS_620.map	Tue Jan 20 09:42:07 2009 -0800
   159.3 @@ -0,0 +1,257 @@
   159.4 +#Generated from TIS_620.java
   159.5 +0x00	U+0000
   159.6 +0x01	U+0001
   159.7 +0x02	U+0002
   159.8 +0x03	U+0003
   159.9 +0x04	U+0004
  159.10 +0x05	U+0005
  159.11 +0x06	U+0006
  159.12 +0x07	U+0007
  159.13 +0x08	U+0008
  159.14 +0x09	U+0009
  159.15 +0x0a	U+000a
  159.16 +0x0b	U+000b
  159.17 +0x0c	U+000c
  159.18 +0x0d	U+000d
  159.19 +0x0e	U+000e
  159.20 +0x0f	U+000f
  159.21 +0x10	U+0010
  159.22 +0x11	U+0011
  159.23 +0x12	U+0012
  159.24 +0x13	U+0013
  159.25 +0x14	U+0014
  159.26 +0x15	U+0015
  159.27 +0x16	U+0016
  159.28 +0x17	U+0017
  159.29 +0x18	U+0018
  159.30 +0x19	U+0019
  159.31 +0x1a	U+001a
  159.32 +0x1b	U+001b
  159.33 +0x1c	U+001c
  159.34 +0x1d	U+001d
  159.35 +0x1e	U+001e
  159.36 +0x1f	U+001f
  159.37 +0x20	U+0020
  159.38 +0x21	U+0021
  159.39 +0x22	U+0022
  159.40 +0x23	U+0023
  159.41 +0x24	U+0024
  159.42 +0x25	U+0025
  159.43 +0x26	U+0026
  159.44 +0x27	U+0027
  159.45 +0x28	U+0028
  159.46 +0x29	U+0029
  159.47 +0x2a	U+002a
  159.48 +0x2b	U+002b
  159.49 +0x2c	U+002c
  159.50 +0x2d	U+002d
  159.51 +0x2e	U+002e
  159.52 +0x2f	U+002f
  159.53 +0x30	U+0030
  159.54 +0x31	U+0031
  159.55 +0x32	U+0032
  159.56 +0x33	U+0033
  159.57 +0x34	U+0034
  159.58 +0x35	U+0035
  159.59 +0x36	U+0036
  159.60 +0x37	U+0037
  159.61 +0x38	U+0038
  159.62 +0x39	U+0039
  159.63 +0x3a	U+003a
  159.64 +0x3b	U+003b
  159.65 +0x3c	U+003c
  159.66 +0x3d	U+003d
  159.67 +0x3e	U+003e
  159.68 +0x3f	U+003f
  159.69 +0x40	U+0040
  159.70 +0x41	U+0041
  159.71 +0x42	U+0042
  159.72 +0x43	U+0043
  159.73 +0x44	U+0044
  159.74 +0x45	U+0045
  159.75 +0x46	U+0046
  159.76 +0x47	U+0047
  159.77 +0x48	U+0048
  159.78 +0x49	U+0049
  159.79 +0x4a	U+004a
  159.80 +0x4b	U+004b
  159.81 +0x4c	U+004c
  159.82 +0x4d	U+004d
  159.83 +0x4e	U+004e
  159.84 +0x4f	U+004f
  159.85 +0x50	U+0050
  159.86 +0x51	U+0051
  159.87 +0x52	U+0052
  159.88 +0x53	U+0053
  159.89 +0x54	U+0054
  159.90 +0x55	U+0055
  159.91 +0x56	U+0056
  159.92 +0x57	U+0057
  159.93 +0x58	U+0058
  159.94 +0x59	U+0059
  159.95 +0x5a	U+005a
  159.96 +0x5b	U+005b
  159.97 +0x5c	U+005c
  159.98 +0x5d	U+005d
  159.99 +0x5e	U+005e
 159.100 +0x5f	U+005f
 159.101 +0x60	U+0060
 159.102 +0x61	U+0061
 159.103 +0x62	U+0062
 159.104 +0x63	U+0063
 159.105 +0x64	U+0064
 159.106 +0x65	U+0065
 159.107 +0x66	U+0066
 159.108 +0x67	U+0067
 159.109 +0x68	U+0068
 159.110 +0x69	U+0069
 159.111 +0x6a	U+006a
 159.112 +0x6b	U+006b
 159.113 +0x6c	U+006c
 159.114 +0x6d	U+006d
 159.115 +0x6e	U+006e
 159.116 +0x6f	U+006f
 159.117 +0x70	U+0070
 159.118 +0x71	U+0071
 159.119 +0x72	U+0072
 159.120 +0x73	U+0073
 159.121 +0x74	U+0074
 159.122 +0x75	U+0075
 159.123 +0x76	U+0076
 159.124 +0x77	U+0077
 159.125 +0x78	U+0078
 159.126 +0x79	U+0079
 159.127 +0x7a	U+007a
 159.128 +0x7b	U+007b
 159.129 +0x7c	U+007c
 159.130 +0x7d	U+007d
 159.131 +0x7e	U+007e
 159.132 +0x7f	U+007f
 159.133 +0x80	U+fffd
 159.134 +0x81	U+fffd
 159.135 +0x82	U+fffd
 159.136 +0x83	U+fffd
 159.137 +0x84	U+fffd
 159.138 +0x85	U+fffd
 159.139 +0x86	U+fffd
 159.140 +0x87	U+fffd
 159.141 +0x88	U+fffd
 159.142 +0x89	U+fffd
 159.143 +0x8a	U+fffd
 159.144 +0x8b	U+fffd
 159.145 +0x8c	U+fffd
 159.146 +0x8d	U+fffd
 159.147 +0x8e	U+fffd
 159.148 +0x8f	U+fffd
 159.149 +0x90	U+fffd
 159.150 +0x91	U+fffd
 159.151 +0x92	U+fffd
 159.152 +0x93	U+fffd
 159.153 +0x94	U+fffd
 159.154 +0x95	U+fffd
 159.155 +0x96	U+fffd
 159.156 +0x97	U+fffd
 159.157 +0x98	U+fffd
 159.158 +0x99	U+fffd
 159.159 +0x9a	U+fffd
 159.160 +0x9b	U+fffd
 159.161 +0x9c	U+fffd
 159.162 +0x9d	U+fffd
 159.163 +0x9e	U+fffd
 159.164 +0x9f	U+fffd
 159.165 +0xa0	U+00a0
 159.166 +0xa1	U+0e01
 159.167 +0xa2	U+0e02
 159.168 +0xa3	U+0e03
 159.169 +0xa4	U+0e04
 159.170 +0xa5	U+0e05
 159.171 +0xa6	U+0e06
 159.172 +0xa7	U+0e07
 159.173 +0xa8	U+0e08
 159.174 +0xa9	U+0e09
 159.175 +0xaa	U+0e0a
 159.176 +0xab	U+0e0b
 159.177 +0xac	U+0e0c
 159.178 +0xad	U+0e0d
 159.179 +0xae	U+0e0e
 159.180 +0xaf	U+0e0f
 159.181 +0xb0	U+0e10
 159.182 +0xb1	U+0e11
 159.183 +0xb2	U+0e12
 159.184 +0xb3	U+0e13
 159.185 +0xb4	U+0e14
 159.186 +0xb5	U+0e15
 159.187 +0xb6	U+0e16
 159.188 +0xb7	U+0e17
 159.189 +0xb8	U+0e18
 159.190 +0xb9	U+0e19
 159.191 +0xba	U+0e1a
 159.192 +0xbb	U+0e1b
 159.193 +0xbc	U+0e1c
 159.194 +0xbd	U+0e1d
 159.195 +0xbe	U+0e1e
 159.196 +0xbf	U+0e1f
 159.197 +0xc0	U+0e20
 159.198 +0xc1	U+0e21
 159.199 +0xc2	U+0e22
 159.200 +0xc3	U+0e23
 159.201 +0xc4	U+0e24
 159.202 +0xc5	U+0e25
 159.203 +0xc6	U+0e26
 159.204 +0xc7	U+0e27
 159.205 +0xc8	U+0e28
 159.206 +0xc9	U+0e29
 159.207 +0xca	U+0e2a
 159.208 +0xcb	U+0e2b
 159.209 +0xcc	U+0e2c
 159.210 +0xcd	U+0e2d
 159.211 +0xce	U+0e2e
 159.212 +0xcf	U+0e2f
 159.213 +0xd0	U+0e30
 159.214 +0xd1	U+0e31
 159.215 +0xd2	U+0e32
 159.216 +0xd3	U+0e33
 159.217 +0xd4	U+0e34
 159.218 +0xd5	U+0e35
 159.219 +0xd6	U+0e36
 159.220 +0xd7	U+0e37
 159.221 +0xd8	U+0e38
 159.222 +0xd9	U+0e39
 159.223 +0xda	U+0e3a
 159.224 +0xdb	U+fffd
 159.225 +0xdc	U+fffd
 159.226 +0xdd	U+fffd
 159.227 +0xde	U+fffd
 159.228 +0xdf	U+0e3f
 159.229 +0xe0	U+0e40
 159.230 +0xe1	U+0e41
 159.231 +0xe2	U+0e42
 159.232 +0xe3	U+0e43
 159.233 +0xe4	U+0e44
 159.234 +0xe5	U+0e45
 159.235 +0xe6	U+0e46
 159.236 +0xe7	U+0e47
 159.237 +0xe8	U+0e48
 159.238 +0xe9	U+0e49
 159.239 +0xea	U+0e4a
 159.240 +0xeb	U+0e4b
 159.241 +0xec	U+0e4c
 159.242 +0xed	U+0e4d
 159.243 +0xee	U+0e4e
 159.244 +0xef	U+0e4f
 159.245 +0xf0	U+0e50
 159.246 +0xf1	U+0e51
 159.247 +0xf2	U+0e52
 159.248 +0xf3	U+0e53
 159.249 +0xf4	U+0e54
 159.250 +0xf5	U+0e55
 159.251 +0xf6	U+0e56
 159.252 +0xf7	U+0e57
 159.253 +0xf8	U+0e58
 159.254 +0xf9	U+0e59
 159.255 +0xfa	U+0e5a
 159.256 +0xfb	U+0e5b
 159.257 +0xfc	U+fffd
 159.258 +0xfd	U+fffd
 159.259 +0xfe	U+fffd
 159.260 +0xff	U+fffd
   160.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   160.2 +++ b/make/tools/CharsetMapping/extsbcs	Tue Jan 20 09:42:07 2009 -0800
   160.3 @@ -0,0 +1,74 @@
   160.4 +# clzName	csName		hisName		containASCII	pkg
   160.5 +IBM037		IBM037		Cp037		false		sun.nio.cs.ext
   160.6 +IBM1006		x-IBM1006	Cp1006		false		sun.nio.cs.ext
   160.7 +IBM1025		x-IBM1025	Cp1025		false		sun.nio.cs.ext
   160.8 +IBM1026		IBM1026		Cp1026		false		sun.nio.cs.ext
   160.9 +IBM1046		x-IBM1046	Cp1046		false		sun.nio.cs.ext
  160.10 +IBM1047		IBM1047		Cp1047		false		sun.nio.cs.ext
  160.11 +IBM1097		x-IBM1097	Cp1097		false		sun.nio.cs.ext
  160.12 +IBM1098		x-IBM1098	Cp1098		false		sun.nio.cs.ext
  160.13 +IBM1112		x-IBM1112	Cp1112		false		sun.nio.cs.ext
  160.14 +IBM1122		x-IBM1122	Cp1122		false		sun.nio.cs.ext
  160.15 +IBM1123		x-IBM1123	Cp1123		false		sun.nio.cs.ext
  160.16 +IBM1124		x-IBM1124	Cp1124		false		sun.nio.cs.ext
  160.17 +# map tables for 1140-1149 are updated manualy with the u+20ac entry          
  160.18 +IBM1140		IBM01140	Cp1140		false		sun.nio.cs.ext
  160.19 +IBM1141		IBM01141	Cp1141		false		sun.nio.cs.ext
  160.20 +IBM1142		IBM01142	Cp1142		false		sun.nio.cs.ext
  160.21 +IBM1143		IBM01143	Cp1143		false		sun.nio.cs.ext
  160.22 +IBM1144		IBM01144	Cp1144		false		sun.nio.cs.ext
  160.23 +IBM1145		IBM01145	Cp1145		false		sun.nio.cs.ext
  160.24 +IBM1146		IBM01146	Cp1146		false		sun.nio.cs.ext
  160.25 +IBM1147		IBM01147	Cp1147		false		sun.nio.cs.ext
  160.26 +IBM1148		IBM01148	Cp1148		false		sun.nio.cs.ext
  160.27 +IBM1149		IBM01149	Cp1149		false		sun.nio.cs.ext
  160.28 +IBM273		IBM273		Cp273		false		sun.nio.cs.ext
  160.29 +IBM277		IBM277		Cp277		false		sun.nio.cs.ext
  160.30 +IBM278		IBM278		Cp278		false		sun.nio.cs.ext
  160.31 +IBM280		IBM280		Cp280		false		sun.nio.cs.ext
  160.32 +IBM284		IBM284		Cp284		false		sun.nio.cs.ext
  160.33 +IBM285		IBM285		Cp285		false		sun.nio.cs.ext
  160.34 +IBM297		IBM297		Cp297		false		sun.nio.cs.ext
  160.35 +IBM420		IBM420		Cp420		false		sun.nio.cs.ext
  160.36 +IBM424		IBM424		Cp424		false		sun.nio.cs.ext
  160.37 +IBM500		IBM500		Cp500		false		sun.nio.cs.ext
  160.38 +IBM838		IBM-Thai	Cp838		false		sun.nio.cs.ext
  160.39 +IBM856		x-IBM856	Cp856		false		sun.nio.cs.ext
  160.40 +IBM860		IBM860		Cp860		false		sun.nio.cs.ext
  160.41 +IBM861		IBM861		Cp861		false		sun.nio.cs.ext
  160.42 +IBM863		IBM863		Cp863		false		sun.nio.cs.ext
  160.43 +IBM864		IBM864		Cp864		false		sun.nio.cs.ext
  160.44 +IBM865		IBM865		Cp865		false		sun.nio.cs.ext
  160.45 +IBM868		IBM868		Cp868		false		sun.nio.cs.ext
  160.46 +IBM869		IBM869		Cp869		false		sun.nio.cs.ext
  160.47 +IBM870		IBM870		Cp870		false		sun.nio.cs.ext
  160.48 +IBM871		IBM871		Cp871		false		sun.nio.cs.ext
  160.49 +IBM875		x-IBM875	Cp875		false		sun.nio.cs.ext
  160.50 +IBM918		IBM918		Cp918		false		sun.nio.cs.ext
  160.51 +IBM921		x-IBM921	Cp921		false		sun.nio.cs.ext
  160.52 +IBM922		x-IBM922	Cp922		false		sun.nio.cs.ext
  160.53 +# use name as hisname as well, cs did not support hisname prevously           
  160.54 +ISO_8859_11	x-iso-8859-11	x-iso-8859-11	true		sun.nio.cs.ext
  160.55 +ISO_8859_3	ISO-8859-3	ISO8859_3	true		sun.nio.cs.ext
  160.56 +ISO_8859_6	ISO-8859-6	ISO8859_6	true		sun.nio.cs.ext
  160.57 +ISO_8859_8	ISO-8859-8	ISO8859_8	true		sun.nio.cs.ext
  160.58 +#JIS_X_0201	JIS_X0201	JIS_X0201	true		sun.nio.cs.ext
  160.59 +MS1255		windows-1255	Cp1255		true		sun.nio.cs.ext
  160.60 +MS1256		windows-1256	Cp1256		true		sun.nio.cs.ext
  160.61 +MS1258		windows-1258	Cp1258		true		sun.nio.cs.ext
  160.62 +MS874		x-windows-874	MS874		true		sun.nio.cs.ext
  160.63 +MacArabic	x-MacArabic	MacArabic	false		sun.nio.cs.ext
  160.64 +MacCentralEurope	x-MacCentralEurope	MacCentralEurope	false	sun.nio.cs.ext
  160.65 +MacCroatian	x-MacCroatian	MacCroatian	false		sun.nio.cs.ext
  160.66 +MacCyrillic	x-MacCyrillic	MacCyrillic	false		sun.nio.cs.ext
  160.67 +MacDingbat	x-MacDingbat	MacDingbat	false		sun.nio.cs.ext
  160.68 +MacGreek	x-MacGreek	MacGreek	false		sun.nio.cs.ext
  160.69 +MacHebrew	x-MacHebrew	MacHebrew	false		sun.nio.cs.ext
  160.70 +MacIceland	x-MacIceland	MacIceland	false		sun.nio.cs.ext
  160.71 +MacRoman	x-MacRoman	MacRoman	false		sun.nio.cs.ext
  160.72 +MacRomania	x-MacRomania	MacRomania	false		sun.nio.cs.ext
  160.73 +MacSymbol	x-MacSymbol	MacSymbol	false		sun.nio.cs.ext
  160.74 +MacThai		x-MacThai	MacThai		false		sun.nio.cs.ext
  160.75 +MacTurkish	x-MacTurkish	MacTurkish	false		sun.nio.cs.ext
  160.76 +MacUkraine	x-MacUkraine	MacUkraine	false		sun.nio.cs.ext
  160.77 +TIS_620		TIS-620		TIS620		true		sun.nio.cs.ext
   161.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   161.2 +++ b/make/tools/CharsetMapping/sbcs	Tue Jan 20 09:42:07 2009 -0800
   161.3 @@ -0,0 +1,28 @@
   161.4 +# clzName	csName		hisName		containASCII	pkg
   161.5 +IBM437		IBM437		Cp437		false		sun.nio.cs
   161.6 +IBM737		x-IBM737	Cp737		false		sun.nio.cs	
   161.7 +IBM775		IBM775		Cp775		false		sun.nio.cs
   161.8 +IBM850		IBM850		Cp850		false		sun.nio.cs
   161.9 +IBM852		IBM852		Cp852		false		sun.nio.cs
  161.10 +IBM855		IBM855		Cp855		false		sun.nio.cs
  161.11 +IBM857		IBM857		Cp857		false		sun.nio.cs	
  161.12 +IBM858		IBM00858	Cp858		false		sun.nio.cs
  161.13 +IBM862		IBM862		Cp862		false		sun.nio.cs
  161.14 +IBM866		IBM866		Cp866		false		sun.nio.cs
  161.15 +IBM874		x-IBM874	Cp874		false		sun.nio.cs
  161.16 +ISO_8859_2	ISO-8859-2	ISO8859_2	true		sun.nio.cs
  161.17 +ISO_8859_4	ISO-8859-4	ISO8859_4	true		sun.nio.cs
  161.18 +ISO_8859_5	ISO-8859-5	ISO8859_5	true		sun.nio.cs
  161.19 +ISO_8859_7	ISO-8859-7	ISO8859_7	true		sun.nio.cs
  161.20 +ISO_8859_9	ISO-8859-9	ISO8859_9	true		sun.nio.cs
  161.21 +ISO_8859_13	ISO-8859-13	ISO8859_13	true		sun.nio.cs
  161.22 +ISO_8859_15	ISO-8859-15	ISO8859_15	true		sun.nio.cs
  161.23 +KOI8_R		KOI8-R		KOI8_R		true		sun.nio.cs
  161.24 +KOI8_U		KOI8-U		KOI8_U		true		sun.nio.cs
  161.25 +MS1250		windows-1250	Cp1250		true		sun.nio.cs
  161.26 +MS1251		windows-1251	Cp1251		true		sun.nio.cs
  161.27 +MS1252		windows-1252	Cp1252		true		sun.nio.cs
  161.28 +MS1253		windows-1253	Cp1253		true		sun.nio.cs
  161.29 +MS1254		windows-1254	Cp1254		true		sun.nio.cs
  161.30 +MS1257		windows-1257	Cp1257		true		sun.nio.cs
  161.31 +
   162.1 --- a/make/tools/src/build/tools/charsetmapping/GenerateMapping.java	Wed Jan 14 21:35:03 2009 -0800
   162.2 +++ b/make/tools/src/build/tools/charsetmapping/GenerateMapping.java	Tue Jan 20 09:42:07 2009 -0800
   162.3 @@ -27,12 +27,13 @@
   162.4  
   162.5  import java.io.*;
   162.6  import java.util.regex.*;
   162.7 +import build.tools.charsetmapping.GenerateSBCS;
   162.8  import static build.tools.charsetmapping.CharsetMapping.*;
   162.9  
  162.10  public class GenerateMapping {
  162.11      public static void main(String argv[]) throws IOException {
  162.12          if (argv.length < 2) {
  162.13 -            System.out.println("Usage: java GenCSData fMap fDat");
  162.14 +            System.out.println("Usage: java GenerateMapping fMap fDat");
  162.15              System.exit(1);
  162.16          }
  162.17          genDataJIS0213(new FileInputStream(argv[0]),
   163.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   163.2 +++ b/make/tools/src/build/tools/charsetmapping/GenerateSBCS.java	Tue Jan 20 09:42:07 2009 -0800
   163.3 @@ -0,0 +1,262 @@
   163.4 +/*
   163.5 + * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
   163.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   163.7 + *
   163.8 + * This code is free software; you can redistribute it and/or modify it
   163.9 + * under the terms of the GNU General Public License version 2 only, as
  163.10 + * published by the Free Software Foundation.  Sun designates this
  163.11 + * particular file as subject to the "Classpath" exception as provided
  163.12 + * by Sun in the LICENSE file that accompanied this code.
  163.13 + *
  163.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
  163.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  163.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  163.17 + * version 2 for more details (a copy is included in the LICENSE file that
  163.18 + * accompanied this code).
  163.19 + *
  163.20 + * You should have received a copy of the GNU General Public License version
  163.21 + * 2 along with this work; if not, write to the Free Software Foundation,
  163.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  163.23 + *
  163.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  163.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
  163.26 + * have any questions.
  163.27 + */
  163.28 +
  163.29 +package build.tools.charsetmapping;
  163.30 +
  163.31 +import java.io.*;
  163.32 +import java.util.ArrayList;
  163.33 +import java.util.Scanner;
  163.34 +import java.util.Formatter;
  163.35 +import java.util.regex.*;
  163.36 +import java.nio.charset.*;
  163.37 +import static build.tools.charsetmapping.CharsetMapping.*;
  163.38 +
  163.39 +public class GenerateSBCS {
  163.40 +    public static void main(String args[]) throws Exception {
  163.41 +        if (args.length < 3) {
  163.42 +            System.err.println("Usage: java GenSBCS srcDir dstDir config");
  163.43 +            System.exit(1);
  163.44 +        }
  163.45 +
  163.46 +        Scanner s = new Scanner(new File(args[0], args[2]));
  163.47 +        while (s.hasNextLine()) {
  163.48 +            String line = s.nextLine();
  163.49 +            if (line.startsWith("#") || line.length() == 0)
  163.50 +                continue;
  163.51 +            String[] fields = line.split("\\s+");
  163.52 +            if (fields.length < 5) {
  163.53 +                System.err.println("Misconfiged sbcs line <" + line + ">?");
  163.54 +                continue;
  163.55 +            }
  163.56 +            String clzName = fields[0];
  163.57 +            String csName  = fields[1];
  163.58 +            String hisName = fields[2];
  163.59 +            boolean isASCII = Boolean.valueOf(fields[3]);
  163.60 +            String pkgName  = fields[4];
  163.61 +            System.out.printf("%s,%s,%s,%b,%s%n", clzName, csName, hisName, isASCII, pkgName);
  163.62 +
  163.63 +            StringBuilder b2c = new StringBuilder();
  163.64 +            int c2bLen = genB2C(
  163.65 +                new FileInputStream(new File(args[0], clzName+".map")), b2c);
  163.66 +
  163.67 +            String b2cNR = null;
  163.68 +            File nrF = new File(args[0], clzName+".nr");
  163.69 +            if (nrF.exists()) {
  163.70 +                b2cNR = genNR(new FileInputStream(nrF));
  163.71 +            }
  163.72 +
  163.73 +            String c2bNR = null;
  163.74 +            File c2bF = new File(args[0], clzName+".c2b");
  163.75 +            if (c2bF.exists()) {
  163.76 +                c2bNR = genC2BNR(new FileInputStream(c2bF));
  163.77 +            }
  163.78 +
  163.79 +            genSBCSClass(args[0], args[1], "SingleByte-X.java",
  163.80 +                         clzName, csName, hisName, pkgName, isASCII,
  163.81 +                         b2c.toString(), b2cNR, c2bNR, c2bLen);
  163.82 +        }
  163.83 +    }
  163.84 +
  163.85 +    private static void toString(char[] sb, int off, int end,
  163.86 +                                 Formatter out, String closure) {
  163.87 +        while (off < end) {
  163.88 +            out.format("        \"");
  163.89 +            for (int j = 0; j < 8; j++) {
  163.90 +                char c = sb[off++];
  163.91 +                switch (c) {
  163.92 +                case '\b':
  163.93 +                    out.format("\\b"); break;
  163.94 +                case '\t':
  163.95 +                    out.format("\\t"); break;
  163.96 +                case '\n':
  163.97 +                    out.format("\\n"); break;
  163.98 +                case '\f':
  163.99 +                    out.format("\\f"); break;
 163.100 +                case '\r':
 163.101 +                    out.format("\\r"); break;
 163.102 +                case '\"':
 163.103 +                    out.format("\\\""); break;
 163.104 +                case '\'':
 163.105 +                    out.format("\\'"); break;
 163.106 +                case '\\':
 163.107 +                    out.format("\\\\"); break;
 163.108 +                default:
 163.109 +                    out.format("\\u%04X", c & 0xffff);
 163.110 +                }
 163.111 +            }
 163.112 +            if (off == end)
 163.113 +               out.format("\" %s      // 0x%02x - 0x%02x%n", closure, off-8, off-1);
 163.114 +            else
 163.115 +               out.format("\" +      // 0x%02x - 0x%02x%n", off-8, off-1);
 163.116 +        }
 163.117 +    }
 163.118 +
 163.119 +    static Pattern sbmap = Pattern.compile("0x(\\p{XDigit}++)\\s++U\\+(\\p{XDigit}++)(\\s++#.*)?");
 163.120 +    private static int genB2C(InputStream in, StringBuilder out)
 163.121 +        throws Exception
 163.122 +    {
 163.123 +        char[] sb = new char[0x100];
 163.124 +        int[] indexC2B = new int[0x100];
 163.125 +
 163.126 +        for (int i = 0; i < sb.length; i++)
 163.127 +            sb[i] = UNMAPPABLE_DECODING;
 163.128 +
 163.129 +        // parse the b2c mapping table
 163.130 +        Parser p = new Parser(in, sbmap);
 163.131 +        Entry  e = null;
 163.132 +        int    off = 0;
 163.133 +        while ((e = p.next()) != null) {
 163.134 +            sb[e.bs] = (char)e.cp;
 163.135 +            if (indexC2B[e.cp>>8] == 0) {
 163.136 +                off += 0x100;
 163.137 +                indexC2B[e.cp>>8] = 1;
 163.138 +            }
 163.139 +        }
 163.140 +
 163.141 +        Formatter fm = new Formatter(out);
 163.142 +        fm.format("%n");
 163.143 +
 163.144 +        // vm -server shows cc[byte + 128] access is much faster than
 163.145 +        // cc[byte&0xff] so we output the upper segment first
 163.146 +        toString(sb, 0x80, 0x100, fm, "+");
 163.147 +        toString(sb, 0x00, 0x80,  fm, ";");
 163.148 +
 163.149 +        fm.close();
 163.150 +        return off;
 163.151 +    }
 163.152 +
 163.153 +    // generate non-roundtrip entries from xxx.nr file
 163.154 +    private static String genNR(InputStream in) throws Exception
 163.155 +    {
 163.156 +        StringBuilder sb = new StringBuilder();
 163.157 +        Formatter fm = new Formatter(sb);
 163.158 +        Parser p = new Parser(in, sbmap);
 163.159 +        Entry  e = null;
 163.160 +        fm.format("// remove non-roundtrip entries%n");
 163.161 +        fm.format("        b2cMap = b2cTable.toCharArray();%n");
 163.162 +        while ((e = p.next()) != null) {
 163.163 +            fm.format("        b2cMap[%d] = UNMAPPABLE_DECODING;%n",
 163.164 +                      (e.bs>=0x80)?(e.bs-0x80):(e.bs+0x80));
 163.165 +        }
 163.166 +        fm.close();
 163.167 +        return sb.toString();
 163.168 +    }
 163.169 +
 163.170 +    // generate c2b only entries from xxx.c2b file
 163.171 +    private static String genC2BNR(InputStream in) throws Exception
 163.172 +    {
 163.173 +        StringBuilder sb = new StringBuilder();
 163.174 +        Formatter fm = new Formatter(sb);
 163.175 +        Parser p = new Parser(in, sbmap);
 163.176 +        ArrayList<Entry> es = new ArrayList<Entry>();
 163.177 +        Entry  e = null;
 163.178 +        while ((e = p.next()) != null) {
 163.179 +            es.add(e);
 163.180 +        }
 163.181 +
 163.182 +        fm.format("// non-roundtrip c2b only entries%n");
 163.183 +        fm.format("        c2bNR = new char[%d];%n", es.size() * 2);
 163.184 +        int i = 0;
 163.185 +        for (Entry entry: es) {
 163.186 +            fm.format("        c2bNR[%d] = 0x%x; c2bNR[%d] = 0x%x;%n",
 163.187 +                      i++, entry.bs, i++, entry.cp);
 163.188 +        }
 163.189 +        fm.close();
 163.190 +        return sb.toString();
 163.191 +    }
 163.192 +
 163.193 +    private static void genSBCSClass(String srcDir,
 163.194 +                                     String dstDir,
 163.195 +                                     String template,
 163.196 +                                     String clzName,
 163.197 +                                     String csName,
 163.198 +                                     String hisName,
 163.199 +                                     String pkgName,
 163.200 +                                     boolean isASCII,
 163.201 +                                     String b2c,
 163.202 +                                     String b2cNR,
 163.203 +                                     String c2bNR,
 163.204 +                                     int    c2blen)
 163.205 +        throws Exception
 163.206 +    {
 163.207 +        Scanner s = new Scanner(new File(srcDir, template));
 163.208 +        PrintStream out = new PrintStream(new FileOutputStream(
 163.209 +                              new File(dstDir, clzName + ".java")));
 163.210 +
 163.211 +        while (s.hasNextLine()) {
 163.212 +            String line = s.nextLine();
 163.213 +            int i = line.indexOf("$");
 163.214 +            if (i == -1) {
 163.215 +                out.println(line);
 163.216 +                continue;
 163.217 +            }
 163.218 +            if (line.indexOf("$PACKAGE$", i) != -1) {
 163.219 +                line = line.replace("$PACKAGE$", pkgName);
 163.220 +            }
 163.221 +            if (line.indexOf("$NAME_CLZ$", i) != -1) {
 163.222 +                line = line.replace("$NAME_CLZ$", clzName);
 163.223 +            }
 163.224 +            if (line.indexOf("$NAME_CS$", i) != -1) {
 163.225 +                line = line.replace("$NAME_CS$", csName);
 163.226 +            }
 163.227 +            if (line.indexOf("$NAME_ALIASES$", i) != -1) {
 163.228 +                if ("sun.nio.cs".equals(pkgName))
 163.229 +                    line = line.replace("$NAME_ALIASES$",
 163.230 +                                        "StandardCharsets.aliases_" + clzName);
 163.231 +                else
 163.232 +                    line = line.replace("$NAME_ALIASES$",
 163.233 +                                        "ExtendedCharsets.aliasesFor(\"" + csName + "\")");
 163.234 +            }
 163.235 +            if (line.indexOf("$NAME_HIS$", i) != -1) {
 163.236 +                line = line.replace("$NAME_HIS$", hisName);
 163.237 +            }
 163.238 +            if (line.indexOf("$CONTAINS$", i) != -1) {
 163.239 +                if (isASCII)
 163.240 +                    line = "        return ((cs.name().equals(\"US-ASCII\")) || (cs instanceof " + clzName + "));";
 163.241 +                else
 163.242 +                    line = "        return (cs instanceof " + clzName + ");";
 163.243 +            }
 163.244 +            if (line.indexOf("$B2CTABLE$") != -1) {
 163.245 +                line = line.replace("$B2CTABLE$", b2c);
 163.246 +            }
 163.247 +            if (line.indexOf("$C2BLENGTH$") != -1) {
 163.248 +                line = line.replace("$C2BLENGTH$", "0x" + Integer.toString(c2blen, 16));
 163.249 +            }
 163.250 +            if (line.indexOf("$NONROUNDTRIP_B2C$") != -1) {
 163.251 +                if (b2cNR == null)
 163.252 +                    continue;
 163.253 +                line = line.replace("$NONROUNDTRIP_B2C$", b2cNR);
 163.254 +            }
 163.255 +
 163.256 +            if (line.indexOf("$NONROUNDTRIP_C2B$") != -1) {
 163.257 +                if (c2bNR == null)
 163.258 +                    continue;
 163.259 +                line = line.replace("$NONROUNDTRIP_C2B$", c2bNR);
 163.260 +            }
 163.261 +            out.println(line);
 163.262 +        }
 163.263 +        out.close();
 163.264 +    }
 163.265 +}
   164.1 --- a/src/share/classes/com/sun/imageio/plugins/png/PNGImageReader.java	Wed Jan 14 21:35:03 2009 -0800
   164.2 +++ b/src/share/classes/com/sun/imageio/plugins/png/PNGImageReader.java	Tue Jan 20 09:42:07 2009 -0800
   164.3 @@ -44,7 +44,6 @@
   164.4  import java.util.Arrays;
   164.5  import java.util.Enumeration;
   164.6  import java.util.Iterator;
   164.7 -import java.util.List;
   164.8  import java.util.zip.Inflater;
   164.9  import java.util.zip.InflaterInputStream;
  164.10  import javax.imageio.IIOException;
  164.11 @@ -57,6 +56,7 @@
  164.12  import com.sun.imageio.plugins.common.InputStreamAdapter;
  164.13  import com.sun.imageio.plugins.common.ReaderUtil;
  164.14  import com.sun.imageio.plugins.common.SubImageInputStream;
  164.15 +import java.io.ByteArrayOutputStream;
  164.16  import sun.awt.image.ByteInterleavedRaster;
  164.17  
  164.18  class PNGImageDataEnumeration implements Enumeration {
  164.19 @@ -207,6 +207,15 @@
  164.20          resetStreamSettings();
  164.21      }
  164.22  
  164.23 +    private String readNullTerminatedString(String charset) throws IOException {
  164.24 +        ByteArrayOutputStream baos = new ByteArrayOutputStream();
  164.25 +        int b;
  164.26 +        while ((b = stream.read()) != 0) {
  164.27 +            baos.write(b);
  164.28 +        }
  164.29 +        return new String(baos.toByteArray(), charset);
  164.30 +    }
  164.31 +
  164.32      private String readNullTerminatedString() throws IOException {
  164.33          StringBuilder b = new StringBuilder();
  164.34          int c;
  164.35 @@ -445,26 +454,27 @@
  164.36          metadata.iTXt_keyword.add(keyword);
  164.37  
  164.38          int compressionFlag = stream.readUnsignedByte();
  164.39 -        metadata.iTXt_compressionFlag.add(new Integer(compressionFlag));
  164.40 +        metadata.iTXt_compressionFlag.add(Boolean.valueOf(compressionFlag == 1));
  164.41  
  164.42          int compressionMethod = stream.readUnsignedByte();
  164.43 -        metadata.iTXt_compressionMethod.add(new Integer(compressionMethod));
  164.44 +        metadata.iTXt_compressionMethod.add(Integer.valueOf(compressionMethod));
  164.45  
  164.46 -        String languageTag = readNullTerminatedString();
  164.47 +        String languageTag = readNullTerminatedString("UTF8");
  164.48          metadata.iTXt_languageTag.add(languageTag);
  164.49  
  164.50 -        String translatedKeyword = stream.readUTF();
  164.51 +        String translatedKeyword =
  164.52 +            readNullTerminatedString("UTF8");
  164.53          metadata.iTXt_translatedKeyword.add(translatedKeyword);
  164.54 -        stream.skipBytes(1); // Null separator
  164.55  
  164.56          String text;
  164.57 +        long pos = stream.getStreamPosition();
  164.58 +        byte[] b = new byte[(int)(chunkStart + chunkLength - pos)];
  164.59 +        stream.readFully(b);
  164.60 +
  164.61          if (compressionFlag == 1) { // Decompress the text
  164.62 -            long pos = stream.getStreamPosition();
  164.63 -            byte[] b = new byte[(int)(chunkStart + chunkLength - pos)];
  164.64 -            stream.readFully(b);
  164.65 -            text = inflate(b);
  164.66 +            text = new String(inflate(b), "UTF8");
  164.67          } else {
  164.68 -            text = stream.readUTF();
  164.69 +            text = new String(b, "UTF8");
  164.70          }
  164.71          metadata.iTXt_text.add(text);
  164.72      }
  164.73 @@ -613,15 +623,20 @@
  164.74          metadata.tRNS_present = true;
  164.75      }
  164.76  
  164.77 -    private static String inflate(byte[] b) throws IOException {
  164.78 +    private static byte[] inflate(byte[] b) throws IOException {
  164.79          InputStream bais = new ByteArrayInputStream(b);
  164.80          InputStream iis = new InflaterInputStream(bais);
  164.81 -        StringBuilder sb = new StringBuilder(80);
  164.82 +        ByteArrayOutputStream baos = new ByteArrayOutputStream();
  164.83 +
  164.84          int c;
  164.85 -        while ((c = iis.read()) != -1) {
  164.86 -            sb.append((char)c);
  164.87 +        try {
  164.88 +            while ((c = iis.read()) != -1) {
  164.89 +                baos.write(c);
  164.90 +            }
  164.91 +        } finally {
  164.92 +            iis.close();
  164.93          }
  164.94 -        return sb.toString();
  164.95 +        return baos.toByteArray();
  164.96      }
  164.97  
  164.98      private void parse_zTXt_chunk(int chunkLength) throws IOException {
  164.99 @@ -633,7 +648,7 @@
 164.100  
 164.101          byte[] b = new byte[chunkLength - keyword.length() - 2];
 164.102          stream.readFully(b);
 164.103 -        metadata.zTXt_text.add(inflate(b));
 164.104 +        metadata.zTXt_text.add(new String(inflate(b)));
 164.105      }
 164.106  
 164.107      private void readMetadata() throws IIOException {
 164.108 @@ -1244,13 +1259,26 @@
 164.109              destinationBands = param.getDestinationBands();
 164.110              destinationOffset = param.getDestinationOffset();
 164.111          }
 164.112 -
 164.113 +        Inflater inf = null;
 164.114          try {
 164.115              stream.seek(imageStartPosition);
 164.116  
 164.117              Enumeration e = new PNGImageDataEnumeration(stream);
 164.118              InputStream is = new SequenceInputStream(e);
 164.119 -            is = new InflaterInputStream(is, new Inflater());
 164.120 +
 164.121 +           /* InflaterInputStream uses an Inflater instance which consumes
 164.122 +            * native (non-GC visible) resources. This is normally implicitly
 164.123 +            * freed when the stream is closed. However since the
 164.124 +            * InflaterInputStream wraps a client-supplied input stream,
 164.125 +            * we cannot close it.
 164.126 +            * But the app may depend on GC finalization to close the stream.
 164.127 +            * Therefore to ensure timely freeing of native resources we
 164.128 +            * explicitly create the Inflater instance and free its resources
 164.129 +            * when we are done with the InflaterInputStream by calling
 164.130 +            * inf.end();
 164.131 +            */
 164.132 +            inf = new Inflater();
 164.133 +            is = new InflaterInputStream(is, inf);
 164.134              is = new BufferedInputStream(is);
 164.135              this.pixelStream = new DataInputStream(is);
 164.136  
 164.137 @@ -1283,6 +1311,10 @@
 164.138              }
 164.139          } catch (IOException e) {
 164.140              throw new IIOException("Error reading PNG image data", e);
 164.141 +        } finally {
 164.142 +            if (inf != null) {
 164.143 +                inf.end();
 164.144 +            }
 164.145          }
 164.146      }
 164.147  
   165.1 --- a/src/share/classes/com/sun/imageio/plugins/png/PNGImageWriter.java	Wed Jan 14 21:35:03 2009 -0800
   165.2 +++ b/src/share/classes/com/sun/imageio/plugins/png/PNGImageWriter.java	Tue Jan 20 09:42:07 2009 -0800
   165.3 @@ -244,13 +244,17 @@
   165.4      }
   165.5  
   165.6      public void finish() throws IOException {
   165.7 -        if (!def.finished()) {
   165.8 -            def.finish();
   165.9 -            while (!def.finished()) {
  165.10 -                deflate();
  165.11 +        try {
  165.12 +            if (!def.finished()) {
  165.13 +                def.finish();
  165.14 +                while (!def.finished()) {
  165.15 +                    deflate();
  165.16 +                }
  165.17              }
  165.18 +            finishChunk();
  165.19 +        } finally {
  165.20 +            def.end();
  165.21          }
  165.22 -        finishChunk();
  165.23      }
  165.24  
  165.25      protected void finalize() throws Throwable {
  165.26 @@ -667,13 +671,13 @@
  165.27          }
  165.28      }
  165.29  
  165.30 -    private byte[] deflate(String s) throws IOException {
  165.31 +    private byte[] deflate(byte[] b) throws IOException {
  165.32          ByteArrayOutputStream baos = new ByteArrayOutputStream();
  165.33          DeflaterOutputStream dos = new DeflaterOutputStream(baos);
  165.34  
  165.35 -        int len = s.length();
  165.36 +        int len = b.length;
  165.37          for (int i = 0; i < len; i++) {
  165.38 -            dos.write((int)s.charAt(i));
  165.39 +            dos.write((int)(0xff & b[i]));
  165.40          }
  165.41          dos.close();
  165.42  
  165.43 @@ -681,38 +685,37 @@
  165.44      }
  165.45  
  165.46      private void write_iTXt() throws IOException {
  165.47 -        Iterator keywordIter = metadata.iTXt_keyword.iterator();
  165.48 -        Iterator flagIter = metadata.iTXt_compressionFlag.iterator();
  165.49 -        Iterator methodIter = metadata.iTXt_compressionMethod.iterator();
  165.50 -        Iterator languageIter = metadata.iTXt_languageTag.iterator();
  165.51 -        Iterator translatedKeywordIter =
  165.52 +        Iterator<String> keywordIter = metadata.iTXt_keyword.iterator();
  165.53 +        Iterator<Boolean> flagIter = metadata.iTXt_compressionFlag.iterator();
  165.54 +        Iterator<Integer> methodIter = metadata.iTXt_compressionMethod.iterator();
  165.55 +        Iterator<String> languageIter = metadata.iTXt_languageTag.iterator();
  165.56 +        Iterator<String> translatedKeywordIter =
  165.57              metadata.iTXt_translatedKeyword.iterator();
  165.58 -        Iterator textIter = metadata.iTXt_text.iterator();
  165.59 +        Iterator<String> textIter = metadata.iTXt_text.iterator();
  165.60  
  165.61          while (keywordIter.hasNext()) {
  165.62              ChunkStream cs = new ChunkStream(PNGImageReader.iTXt_TYPE, stream);
  165.63 -            String keyword = (String)keywordIter.next();
  165.64 -            cs.writeBytes(keyword);
  165.65 +
  165.66 +            cs.writeBytes(keywordIter.next());
  165.67              cs.writeByte(0);
  165.68  
  165.69 -            int flag = ((Integer)flagIter.next()).intValue();
  165.70 -            cs.writeByte(flag);
  165.71 -            int method = ((Integer)methodIter.next()).intValue();
  165.72 -            cs.writeByte(method);
  165.73 +            Boolean compressed = flagIter.next();
  165.74 +            cs.writeByte(compressed ? 1 : 0);
  165.75  
  165.76 -            String languageTag = (String)languageIter.next();
  165.77 -            cs.writeBytes(languageTag);
  165.78 +            cs.writeByte(methodIter.next().intValue());
  165.79 +
  165.80 +            cs.writeBytes(languageIter.next());
  165.81              cs.writeByte(0);
  165.82  
  165.83 -            String translatedKeyword = (String)translatedKeywordIter.next();
  165.84 -            cs.writeBytes(translatedKeyword);
  165.85 +
  165.86 +            cs.write(translatedKeywordIter.next().getBytes("UTF8"));
  165.87              cs.writeByte(0);
  165.88  
  165.89 -            String text = (String)textIter.next();
  165.90 -            if (flag == 1) {
  165.91 -                cs.write(deflate(text));
  165.92 +            String text = textIter.next();
  165.93 +            if (compressed) {
  165.94 +                cs.write(deflate(text.getBytes("UTF8")));
  165.95              } else {
  165.96 -                cs.writeUTF(text);
  165.97 +                cs.write(text.getBytes("UTF8"));
  165.98              }
  165.99              cs.finish();
 165.100          }
 165.101 @@ -733,7 +736,7 @@
 165.102              cs.writeByte(compressionMethod);
 165.103  
 165.104              String text = (String)textIter.next();
 165.105 -            cs.write(deflate(text));
 165.106 +            cs.write(deflate(text.getBytes()));
 165.107              cs.finish();
 165.108          }
 165.109      }
 165.110 @@ -928,23 +931,24 @@
 165.111      // Use sourceXOffset, etc.
 165.112      private void write_IDAT(RenderedImage image) throws IOException {
 165.113          IDATOutputStream ios = new IDATOutputStream(stream, 32768);
 165.114 -
 165.115 -        if (metadata.IHDR_interlaceMethod == 1) {
 165.116 -            for (int i = 0; i < 7; i++) {
 165.117 -                encodePass(ios, image,
 165.118 -                           PNGImageReader.adam7XOffset[i],
 165.119 -                           PNGImageReader.adam7YOffset[i],
 165.120 -                           PNGImageReader.adam7XSubsampling[i],
 165.121 -                           PNGImageReader.adam7YSubsampling[i]);
 165.122 -                if (abortRequested()) {
 165.123 -                    break;
 165.124 +        try {
 165.125 +            if (metadata.IHDR_interlaceMethod == 1) {
 165.126 +                for (int i = 0; i < 7; i++) {
 165.127 +                    encodePass(ios, image,
 165.128 +                               PNGImageReader.adam7XOffset[i],
 165.129 +                               PNGImageReader.adam7YOffset[i],
 165.130 +                               PNGImageReader.adam7XSubsampling[i],
 165.131 +                               PNGImageReader.adam7YSubsampling[i]);
 165.132 +                    if (abortRequested()) {
 165.133 +                        break;
 165.134 +                    }
 165.135                  }
 165.136 +            } else {
 165.137 +                encodePass(ios, image, 0, 0, 1, 1);
 165.138              }
 165.139 -        } else {
 165.140 -            encodePass(ios, image, 0, 0, 1, 1);
 165.141 +        } finally {
 165.142 +            ios.finish();
 165.143          }
 165.144 -
 165.145 -        ios.finish();
 165.146      }
 165.147  
 165.148      private void writeIEND() throws IOException {
   166.1 --- a/src/share/classes/com/sun/imageio/plugins/png/PNGMetadata.java	Wed Jan 14 21:35:03 2009 -0800
   166.2 +++ b/src/share/classes/com/sun/imageio/plugins/png/PNGMetadata.java	Tue Jan 20 09:42:07 2009 -0800
   166.3 @@ -174,12 +174,12 @@
   166.4      public byte[] iCCP_compressedProfile;
   166.5  
   166.6      // iTXt chunk
   166.7 -    public ArrayList iTXt_keyword = new ArrayList(); // Strings
   166.8 -    public ArrayList iTXt_compressionFlag = new ArrayList(); // Integers
   166.9 -    public ArrayList iTXt_compressionMethod = new ArrayList(); // Integers
  166.10 -    public ArrayList iTXt_languageTag = new ArrayList(); // Strings
  166.11 -    public ArrayList iTXt_translatedKeyword = new ArrayList(); // Strings
  166.12 -    public ArrayList iTXt_text = new ArrayList(); // Strings
  166.13 +    public ArrayList<String> iTXt_keyword = new ArrayList<String>();
  166.14 +    public ArrayList<Boolean> iTXt_compressionFlag = new ArrayList<Boolean>();
  166.15 +    public ArrayList<Integer> iTXt_compressionMethod = new ArrayList<Integer>();
  166.16 +    public ArrayList<String> iTXt_languageTag = new ArrayList<String>();
  166.17 +    public ArrayList<String> iTXt_translatedKeyword = new ArrayList<String>();
  166.18 +    public ArrayList<String> iTXt_text = new ArrayList<String>();
  166.19  
  166.20      // pHYs chunk
  166.21      public boolean pHYs_present;
  166.22 @@ -597,19 +597,17 @@
  166.23          if (iTXt_keyword.size() > 0) {
  166.24              IIOMetadataNode iTXt_parent = new IIOMetadataNode("iTXt");
  166.25              for (int i = 0; i < iTXt_keyword.size(); i++) {
  166.26 -                Integer val;
  166.27 -
  166.28                  IIOMetadataNode iTXt_node = new IIOMetadataNode("iTXtEntry");
  166.29 -                iTXt_node.setAttribute("keyword", (String)iTXt_keyword.get(i));
  166.30 -                val = (Integer)iTXt_compressionFlag.get(i);
  166.31 -                iTXt_node.setAttribute("compressionFlag", val.toString());
  166.32 -                val = (Integer)iTXt_compressionMethod.get(i);
  166.33 -                iTXt_node.setAttribute("compressionMethod", val.toString());
  166.34 +                iTXt_node.setAttribute("keyword", iTXt_keyword.get(i));
  166.35 +                iTXt_node.setAttribute("compressionFlag",
  166.36 +                        iTXt_compressionFlag.get(i) ? "1" : "0");
  166.37 +                iTXt_node.setAttribute("compressionMethod",
  166.38 +                        iTXt_compressionMethod.get(i).toString());
  166.39                  iTXt_node.setAttribute("languageTag",
  166.40 -                                       (String)iTXt_languageTag.get(i));
  166.41 +                                       iTXt_languageTag.get(i));
  166.42                  iTXt_node.setAttribute("translatedKeyword",
  166.43 -                                       (String)iTXt_translatedKeyword.get(i));
  166.44 -                iTXt_node.setAttribute("text", (String)iTXt_text.get(i));
  166.45 +                                       iTXt_translatedKeyword.get(i));
  166.46 +                iTXt_node.setAttribute("text", iTXt_text.get(i));
  166.47  
  166.48                  iTXt_parent.appendChild(iTXt_node);
  166.49              }
  166.50 @@ -1037,11 +1035,11 @@
  166.51  
  166.52          for (int i = 0; i < iTXt_keyword.size(); i++) {
  166.53              node = new IIOMetadataNode("TextEntry");
  166.54 -            node.setAttribute("keyword", (String)iTXt_keyword.get(i));
  166.55 -            node.setAttribute("value", (String)iTXt_text.get(i));
  166.56 +            node.setAttribute("keyword", iTXt_keyword.get(i));
  166.57 +            node.setAttribute("value", iTXt_text.get(i));
  166.58              node.setAttribute("language",
  166.59 -                              (String)iTXt_languageTag.get(i));
  166.60 -            if (((Integer)iTXt_compressionFlag.get(i)).intValue() == 1) {
  166.61 +                              iTXt_languageTag.get(i));
  166.62 +            if (iTXt_compressionFlag.get(i)) {
  166.63                  node.setAttribute("compression", "deflate");
  166.64              } else {
  166.65                  node.setAttribute("compression", "none");
  166.66 @@ -1427,11 +1425,11 @@
  166.67  
  166.68                      boolean compressionFlag =
  166.69                          getBooleanAttribute(iTXt_node, "compressionFlag");
  166.70 -                    iTXt_compressionFlag.add(new Boolean(compressionFlag));
  166.71 +                    iTXt_compressionFlag.add(Boolean.valueOf(compressionFlag));
  166.72  
  166.73                      String compressionMethod =
  166.74                          getAttribute(iTXt_node, "compressionMethod");
  166.75 -                    iTXt_compressionMethod.add(compressionMethod);
  166.76 +                    iTXt_compressionMethod.add(Integer.valueOf(compressionMethod));
  166.77  
  166.78                      String languageTag =
  166.79                          getAttribute(iTXt_node, "languageTag");
  166.80 @@ -1950,13 +1948,10 @@
  166.81                                  tEXt_text.add(value);
  166.82                              }
  166.83                          } else {
  166.84 -                            int flag = compression.equals("zip") ?
  166.85 -                                1 : 0;
  166.86 -
  166.87                              // Use an iTXt node
  166.88                              iTXt_keyword.add(keyword);
  166.89 -                            iTXt_compressionFlag.add(new Integer(flag));
  166.90 -                            iTXt_compressionMethod.add(new Integer(0));
  166.91 +                            iTXt_compressionFlag.add(Boolean.valueOf(compression.equals("zip")));
  166.92 +                            iTXt_compressionMethod.add(Integer.valueOf(0));
  166.93                              iTXt_languageTag.add(language);
  166.94                              iTXt_translatedKeyword.add(keyword); // fake it
  166.95                              iTXt_text.add(value);
  166.96 @@ -1993,12 +1988,12 @@
  166.97          gAMA_present = false;
  166.98          hIST_present = false;
  166.99          iCCP_present = false;
 166.100 -        iTXt_keyword = new ArrayList();
 166.101 -        iTXt_compressionFlag = new ArrayList();
 166.102 -        iTXt_compressionMethod = new ArrayList();
 166.103 -        iTXt_languageTag = new ArrayList();
 166.104 -        iTXt_translatedKeyword = new ArrayList();
 166.105 -        iTXt_text = new ArrayList();
 166.106 +        iTXt_keyword = new ArrayList<String>();
 166.107 +        iTXt_compressionFlag = new ArrayList<Boolean>();
 166.108 +        iTXt_compressionMethod = new ArrayList<Integer>();
 166.109 +        iTXt_languageTag = new ArrayList<String>();
 166.110 +        iTXt_translatedKeyword = new ArrayList<String>();
 166.111 +        iTXt_text = new ArrayList<String>();
 166.112          pHYs_present = false;
 166.113          sBIT_present = false;
 166.114          sPLT_present = false;
   167.1 --- a/src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java	Wed Jan 14 21:35:03 2009 -0800
   167.2 +++ b/src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java	Tue Jan 20 09:42:07 2009 -0800
   167.3 @@ -919,6 +919,12 @@
   167.4  
   167.5          DynamicMBean mbean = Introspector.makeDynamicMBean(object);
   167.6  
   167.7 +        //Access the ObjectName template value only if the provided name is null
   167.8 +        if(name == null) {
   167.9 +            name = Introspector.templateToObjectName(mbean.getMBeanInfo().
  167.10 +                    getDescriptor(), mbean);
  167.11 +        }
  167.12 +
  167.13          return registerDynamicMBean(classname, mbean, name);
  167.14      }
  167.15  
   168.1 --- a/src/share/classes/com/sun/jmx/interceptor/DispatchInterceptor.java	Wed Jan 14 21:35:03 2009 -0800
   168.2 +++ b/src/share/classes/com/sun/jmx/interceptor/DispatchInterceptor.java	Tue Jan 20 09:42:07 2009 -0800
   168.3 @@ -44,7 +44,6 @@
   168.4  import javax.management.MBeanInfo;
   168.5  import javax.management.MBeanRegistrationException;
   168.6  import javax.management.MBeanServer;
   168.7 -import javax.management.MalformedObjectNameException;
   168.8  import javax.management.NotCompliantMBeanException;
   168.9  import javax.management.NotificationFilter;
  168.10  import javax.management.NotificationListener;
  168.11 @@ -205,8 +204,7 @@
  168.12  
  168.13      // Returns the ObjectName of the JMXNamespace (or JMXDomain) for that
  168.14      // key (a namespace or a domain name).
  168.15 -    abstract ObjectName getHandlerNameFor(String key)
  168.16 -        throws MalformedObjectNameException;
  168.17 +    abstract ObjectName getHandlerNameFor(String key);
  168.18  
  168.19      // Creates an interceptor for the given key, name, JMXNamespace (or
  168.20      // JMXDomain). Note: this will be either a NamespaceInterceptor
  168.21 @@ -263,14 +261,10 @@
  168.22      void validateHandlerNameFor(String key, ObjectName name) {
  168.23          if (key == null || key.equals(""))
  168.24              throw new IllegalArgumentException("invalid key for "+name+": "+key);
  168.25 -        try {
  168.26 -            final ObjectName handlerName = getHandlerNameFor(key);
  168.27 -            if (!name.equals(handlerName))
  168.28 -                throw new IllegalArgumentException("bad handler name: "+name+
  168.29 -                        ". Should be: "+handlerName);
  168.30 -        } catch (MalformedObjectNameException x) {
  168.31 -            throw new IllegalArgumentException(name.toString(),x);
  168.32 -        }
  168.33 +        final ObjectName handlerName = getHandlerNameFor(key);
  168.34 +        if (!name.equals(handlerName))
  168.35 +            throw new IllegalArgumentException("bad handler name: "+name+
  168.36 +                    ". Should be: "+handlerName);
  168.37      }
  168.38  
  168.39      // Called by the DefaultMBeanServerInterceptor when an instance
   169.1 --- a/src/share/classes/com/sun/jmx/interceptor/DomainDispatchInterceptor.java	Wed Jan 14 21:35:03 2009 -0800
   169.2 +++ b/src/share/classes/com/sun/jmx/interceptor/DomainDispatchInterceptor.java	Tue Jan 20 09:42:07 2009 -0800
   169.3 @@ -38,7 +38,6 @@
   169.4  
   169.5  import javax.management.MBeanServer;
   169.6  import javax.management.MBeanServerDelegate;
   169.7 -import javax.management.MalformedObjectNameException;
   169.8  import javax.management.ObjectName;
   169.9  import javax.management.QueryExp;
  169.10  import javax.management.namespace.JMXDomain;
  169.11 @@ -248,21 +247,17 @@
  169.12          if (pattern == null) return true;
  169.13          if (pattern.isDomainPattern()) return true;
  169.14  
  169.15 -        try {
  169.16 -            // case b) above.
  169.17 -            //
  169.18 -            // This is a bit of a hack. If there's any chance that a JMXDomain
  169.19 -            // MBean name is selected by the given pattern then we must include
  169.20 -            // the local namespace in our search.
  169.21 -            //
  169.22 -            // Returning true will have this effect. see 2. above.
  169.23 -            //
  169.24 -            if (pattern.apply(ALL_DOMAINS.withDomain(pattern.getDomain())))
  169.25 -                return true;
  169.26 -        } catch (MalformedObjectNameException x) {
  169.27 -            // should not happen
  169.28 -            throw new IllegalArgumentException(String.valueOf(pattern), x);
  169.29 -        }
  169.30 +        // case b) above.
  169.31 +        //
  169.32 +        // This is a bit of a hack. If there's any chance that a JMXDomain
  169.33 +        // MBean name is selected by the given pattern then we must include
  169.34 +        // the local namespace in our search.
  169.35 +        //
  169.36 +        // Returning true will have this effect. see 2. above.
  169.37 +        //
  169.38 +        if (pattern.apply(ALL_DOMAINS.withDomain(pattern.getDomain())))
  169.39 +            return true;
  169.40 +
  169.41          return false;
  169.42      }
  169.43  
  169.44 @@ -291,8 +286,7 @@
  169.45      }
  169.46  
  169.47      @Override
  169.48 -    final ObjectName getHandlerNameFor(String key)
  169.49 -        throws MalformedObjectNameException {
  169.50 +    final ObjectName getHandlerNameFor(String key) {
  169.51          return JMXDomain.getDomainObjectName(key);
  169.52      }
  169.53  
   170.1 --- a/src/share/classes/com/sun/jmx/interceptor/NamespaceDispatchInterceptor.java	Wed Jan 14 21:35:03 2009 -0800
   170.2 +++ b/src/share/classes/com/sun/jmx/interceptor/NamespaceDispatchInterceptor.java	Tue Jan 20 09:42:07 2009 -0800
   170.3 @@ -37,8 +37,8 @@
   170.4  
   170.5  import javax.management.MBeanServer;
   170.6  import javax.management.MBeanServerDelegate;
   170.7 -import javax.management.MalformedObjectNameException;
   170.8  import javax.management.ObjectName;
   170.9 +import javax.management.RuntimeOperationsException;
  170.10  import javax.management.namespace.JMXDomain;
  170.11  import javax.management.namespace.JMXNamespace;
  170.12  import static javax.management.namespace.JMXNamespaces.NAMESPACE_SEPARATOR;
  170.13 @@ -60,6 +60,7 @@
  170.14  
  170.15      private static final int NAMESPACE_SEPARATOR_LENGTH =
  170.16              NAMESPACE_SEPARATOR.length();
  170.17 +    private static final ObjectName X3 = ObjectName.valueOf("x:x=x");
  170.18  
  170.19      private final DomainDispatchInterceptor nextInterceptor;
  170.20      private final String           serverName;
  170.21 @@ -89,27 +90,38 @@
  170.22             serverName = Util.getMBeanServerSecurityName(delegate);
  170.23      }
  170.24  
  170.25 -    // TODO: Should move that to JMXNamespace? or to ObjectName?
  170.26      /**
  170.27       * Get first name space in ObjectName path. Ignore leading namespace
  170.28 -     * separators.
  170.29 +     * separators. Includes the trailing //.
  170.30 +     *
  170.31 +     * Examples:
  170.32 +     * <pre>
  170.33 +     *  For ObjectName:                   Returns:
  170.34 +     *  foo//bar//baz:x=x         ->      "foo//"
  170.35 +     *  foo//:type=JMXNamespace   ->      "foo//"
  170.36 +     *  foo//:x=x                 ->      "foo//"
  170.37 +     *  foo////:x=x               ->      "foo//"
  170.38 +     *  //foo//bar//baz:x=x       ->      "//"
  170.39 +     *  ////foo//bar//baz:x=x     ->      "//"
  170.40 +     *  //:x=x                    ->      "//"
  170.41 +     *  foo:x=x                   ->      ""
  170.42 +     *  (null)                    ->      ""
  170.43 +     *  :x=x                      ->      ""
  170.44 +     *
  170.45 +     * </pre>
  170.46       **/
  170.47 -    static String getFirstNamespace(ObjectName name) {
  170.48 +    static String getFirstNamespaceWithSlash(ObjectName name) {
  170.49          if (name == null) return "";
  170.50          final String domain = name.getDomain();
  170.51          if (domain.equals("")) return "";
  170.52  
  170.53 -        // skip leading separators
  170.54 -        int first = 0;
  170.55 -        while (domain.startsWith(NAMESPACE_SEPARATOR,first))
  170.56 -            first += NAMESPACE_SEPARATOR_LENGTH;
  170.57 -
  170.58          // go to next separator
  170.59 -        final int end = domain.indexOf(NAMESPACE_SEPARATOR,first);
  170.60 +        final int end = domain.indexOf(NAMESPACE_SEPARATOR);
  170.61          if (end == -1) return ""; // no namespace
  170.62  
  170.63          // This is the first element in the namespace path.
  170.64 -        final String namespace = domain.substring(first,end);
  170.65 +        final String namespace =
  170.66 +                domain.substring(0,end+NAMESPACE_SEPARATOR_LENGTH);
  170.67  
  170.68          return namespace;
  170.69      }
  170.70 @@ -130,27 +142,49 @@
  170.71                      resource.getClass().getName());
  170.72      }
  170.73  
  170.74 -    final boolean isLocalHandlerNameFor(String namespace,
  170.75 -            ObjectName handlerName) {
  170.76 -        return handlerName.getDomain().equals(namespace+NAMESPACE_SEPARATOR) &&
  170.77 -               JMXNamespace.TYPE_ASSIGNMENT.equals(
  170.78 -               handlerName.getKeyPropertyListString());
  170.79 +    // Removes the trailing //. namespaceWithSlash should be either
  170.80 +    // "" or a namespace path ending with //.
  170.81 +    //
  170.82 +    private final String getKeyFor(String namespaceWithSlash) {
  170.83 +        final int end = namespaceWithSlash.length() -
  170.84 +                NAMESPACE_SEPARATOR_LENGTH;
  170.85 +        if (end <= 0) return "";
  170.86 +        final String key = namespaceWithSlash.substring(0,end);
  170.87 +        return key;
  170.88      }
  170.89  
  170.90      @Override
  170.91      final MBeanServer getInterceptorOrNullFor(ObjectName name) {
  170.92 -        final String namespace = getFirstNamespace(name);
  170.93 -        if (namespace.equals("") || isLocalHandlerNameFor(namespace,name) ||
  170.94 -            name.getDomain().equals(namespace+NAMESPACE_SEPARATOR)) {
  170.95 +        final String namespace = getFirstNamespaceWithSlash(name);
  170.96 +
  170.97 +        // Leading separators should trigger instance not found exception.
  170.98 +        // returning null here has this effect.
  170.99 +        //
 170.100 +        if (namespace.equals(NAMESPACE_SEPARATOR)) {
 170.101 +            LOG.finer("ObjectName starts with: "+namespace);
 170.102 +            return null;
 170.103 +        }
 170.104 +
 170.105 +        // namespace="" means that there was no namespace path in the
 170.106 +        //   ObjectName. => delegate to the next interceptor (local MBS)
 170.107 +        // name.getDomain()=namespace means that we have an ObjectName of
 170.108 +        //   the form blah//:x=x. This is either a JMXNamespace or a non
 170.109 +        //   existent MBean. => delegate to the next interceptor (local MBS)
 170.110 +        if (namespace.equals("") || name.getDomain().equals(namespace)) {
 170.111              LOG.finer("dispatching to local name space");
 170.112              return nextInterceptor;
 170.113          }
 170.114 -        final NamespaceInterceptor ns = getInterceptor(namespace);
 170.115 +
 170.116 +        // There was a namespace path in the ObjectName. Returns the
 170.117 +        // interceptor that handles it, or null if there is no such
 170.118 +        // interceptor.
 170.119 +        final String key = getKeyFor(namespace);
 170.120 +        final NamespaceInterceptor ns = getInterceptor(key);
 170.121          if (LOG.isLoggable(Level.FINER)) {
 170.122              if (ns != null) {
 170.123 -                LOG.finer("dispatching to name space: " + namespace);
 170.124 +                LOG.finer("dispatching to name space: " + key);
 170.125              } else {
 170.126 -                LOG.finer("no handler for: " + namespace);
 170.127 +                LOG.finer("no handler for: " + key);
 170.128              }
 170.129          }
 170.130          return ns;
 170.131 @@ -158,18 +192,44 @@
 170.132  
 170.133      @Override
 170.134      final QueryInterceptor getInterceptorForQuery(ObjectName pattern) {
 170.135 -        final String namespace = getFirstNamespace(pattern);
 170.136 -        if (namespace.equals("") || isLocalHandlerNameFor(namespace,pattern) ||
 170.137 -            pattern.getDomain().equals(namespace+NAMESPACE_SEPARATOR)) {
 170.138 +        final String namespace = getFirstNamespaceWithSlash(pattern);
 170.139 +
 170.140 +        // Leading separators should trigger instance not found exception.
 170.141 +        // returning null here has this effect.
 170.142 +        //
 170.143 +        if (namespace.equals(NAMESPACE_SEPARATOR)) {
 170.144 +            LOG.finer("ObjectName starts with: "+namespace);
 170.145 +            return null;
 170.146 +        }
 170.147 +
 170.148 +        // namespace="" means that there was no namespace path in the
 170.149 +        //   ObjectName. => delegate to the next interceptor (local MBS)
 170.150 +        // name.getDomain()=namespace means that we have an ObjectName of
 170.151 +        //   the form blah//:x=x. This is either a JMXNamespace or a non
 170.152 +        //   existent MBean. => delegate to the next interceptor (local MBS)
 170.153 +        if (namespace.equals("") || pattern.getDomain().equals(namespace)) {
 170.154              LOG.finer("dispatching to local name space");
 170.155              return new QueryInterceptor(nextInterceptor);
 170.156          }
 170.157 -        final NamespaceInterceptor ns = getInterceptor(namespace);
 170.158 +
 170.159 +        // This is a 'hack' to check whether the first namespace is a pattern.
 170.160 +        // We wan to throw RTOE wrapping IAE in that case
 170.161 +        if (X3.withDomain(namespace).isDomainPattern()) {
 170.162 +            throw new RuntimeOperationsException(
 170.163 +                new IllegalArgumentException("Pattern not allowed in namespace path"));
 170.164 +        }
 170.165 +
 170.166 +        // There was a namespace path in the ObjectName. Returns the
 170.167 +        // interceptor that handles it, or null if there is no such
 170.168 +        // interceptor.
 170.169 +        //
 170.170 +        final String key = getKeyFor(namespace);
 170.171 +        final NamespaceInterceptor ns = getInterceptor(key);
 170.172          if (LOG.isLoggable(Level.FINER)) {
 170.173              if (ns != null) {
 170.174 -                LOG.finer("dispatching to name space: " + namespace);
 170.175 +                LOG.finer("dispatching to name space: " + key);
 170.176              } else {
 170.177 -                LOG.finer("no handler for: " + namespace);
 170.178 +                LOG.finer("no handler for: " + key);
 170.179              }
 170.180          }
 170.181          if (ns == null) return null;
 170.182 @@ -177,15 +237,16 @@
 170.183      }
 170.184  
 170.185      @Override
 170.186 -    final ObjectName getHandlerNameFor(String key)
 170.187 -        throws MalformedObjectNameException {
 170.188 -        return ObjectName.getInstance(key+NAMESPACE_SEPARATOR,
 170.189 +    final ObjectName getHandlerNameFor(String key) {
 170.190 +        return ObjectName.valueOf(key+NAMESPACE_SEPARATOR,
 170.191                      "type", JMXNamespace.TYPE);
 170.192      }
 170.193  
 170.194      @Override
 170.195      final public String getHandlerKey(ObjectName name) {
 170.196 -        return getFirstNamespace(name);
 170.197 +        final String namespace = getFirstNamespaceWithSlash(name);
 170.198 +        // namespace is either "" or a namespace ending with //
 170.199 +        return getKeyFor(namespace);
 170.200      }
 170.201  
 170.202      @Override
   171.1 --- a/src/share/classes/com/sun/jmx/mbeanserver/ConvertingMethod.java	Wed Jan 14 21:35:03 2009 -0800
   171.2 +++ b/src/share/classes/com/sun/jmx/mbeanserver/ConvertingMethod.java	Tue Jan 20 09:42:07 2009 -0800
   171.3 @@ -53,7 +53,7 @@
   171.4      }
   171.5  
   171.6      Descriptor getDescriptor() {
   171.7 -        return Introspector.descriptorForElement(method);
   171.8 +        return Introspector.descriptorForElement(method, false);
   171.9      }
  171.10  
  171.11      Type getGenericReturnType() {
   172.1 --- a/src/share/classes/com/sun/jmx/mbeanserver/Introspector.java	Wed Jan 14 21:35:03 2009 -0800
   172.2 +++ b/src/share/classes/com/sun/jmx/mbeanserver/Introspector.java	Tue Jan 20 09:42:07 2009 -0800
   172.3 @@ -63,7 +63,14 @@
   172.4  import java.beans.PropertyDescriptor;
   172.5  import java.lang.reflect.Array;
   172.6  import java.lang.reflect.InvocationTargetException;
   172.7 +import java.util.LinkedHashSet;
   172.8 +import java.util.Set;
   172.9 +import java.util.regex.Matcher;
  172.10 +import java.util.regex.Pattern;
  172.11  import javax.management.AttributeNotFoundException;
  172.12 +import javax.management.JMX;
  172.13 +import javax.management.ObjectName;
  172.14 +import javax.management.ObjectNameTemplate;
  172.15  import javax.management.openmbean.CompositeData;
  172.16  import javax.management.openmbean.MXBeanMappingFactory;
  172.17  
  172.18 @@ -75,7 +82,13 @@
  172.19   */
  172.20  public class Introspector {
  172.21  
  172.22 -
  172.23 +    /**
  172.24 +     * Pattern used to extract Attribute Names from ObjectNameTemplate Annotation
  172.25 +     * For example, in the following example, the Name attribute value is
  172.26 +     * retrieved : ":type=MyType, name={Name}"
  172.27 +     */
  172.28 +    private static Pattern OBJECT_NAME_PATTERN_TEMPLATE =
  172.29 +            Pattern.compile("(\\{[^\\}]+\\})|(=\"\\{[^\\}]+\\}\")");
  172.30       /*
  172.31       * ------------------------------------------
  172.32       *  PRIVATE CONSTRUCTORS
  172.33 @@ -389,6 +402,42 @@
  172.34              return getStandardMBeanInterface(baseClass);
  172.35      }
  172.36  
  172.37 +    public static ObjectName templateToObjectName(Descriptor descriptor,
  172.38 +            DynamicMBean mbean)
  172.39 +            throws NotCompliantMBeanException {
  172.40 +        String template = (String)
  172.41 +            descriptor.getFieldValue(JMX.OBJECT_NAME_TEMPLATE);
  172.42 +        if(template == null) return null;
  172.43 +        try {
  172.44 +            Matcher m = OBJECT_NAME_PATTERN_TEMPLATE.matcher(template);
  172.45 +            while (m.find()){
  172.46 +                String grp = m.group();
  172.47 +                System.out.println("GROUP " + grp);
  172.48 +                String attributeName = null;
  172.49 +                boolean quote = false;
  172.50 +                if(grp.startsWith("=\"{")) {
  172.51 +                    attributeName = grp.substring(3, grp.length() - 2);
  172.52 +                    quote = true;
  172.53 +                } else
  172.54 +                    attributeName = grp.substring(1, grp.length() - 1);
  172.55 +
  172.56 +                Object attributeValue = mbean.getAttribute(attributeName);
  172.57 +                String validValue = quote ?
  172.58 +                    "=" + ObjectName.quote(attributeValue.toString()) :
  172.59 +                    attributeValue.toString();
  172.60 +                template = template.replace(grp, validValue);
  172.61 +            }
  172.62 +            return new ObjectName(template);
  172.63 +        }catch(Exception ex) {
  172.64 +            NotCompliantMBeanException ncex = new
  172.65 +                    NotCompliantMBeanException(ObjectNameTemplate.class.
  172.66 +                    getSimpleName() + " annotation value [" + template + "] " +
  172.67 +                    "is invalid. " + ex);
  172.68 +            ncex.initCause(ex);
  172.69 +            throw ncex;
  172.70 +        }
  172.71 +    }
  172.72 +
  172.73      /*
  172.74       * ------------------------------------------
  172.75       *  PRIVATE METHODS
  172.76 @@ -462,11 +511,31 @@
  172.77          return null;
  172.78      }
  172.79  
  172.80 -    public static Descriptor descriptorForElement(final AnnotatedElement elmt) {
  172.81 +    public static Descriptor descriptorForElement(final AnnotatedElement elmt,
  172.82 +            boolean isSetter) {
  172.83          if (elmt == null)
  172.84              return ImmutableDescriptor.EMPTY_DESCRIPTOR;
  172.85          final Annotation[] annots = elmt.getAnnotations();
  172.86 -        return descriptorForAnnotations(annots);
  172.87 +        Descriptor descr = descriptorForAnnotations(annots);
  172.88 +        String[] exceptions = {};
  172.89 +        if(elmt instanceof Method)
  172.90 +            exceptions = getAllExceptions(((Method) elmt).getExceptionTypes());
  172.91 +        else
  172.92 +            if(elmt instanceof Constructor<?>)
  172.93 +                exceptions = getAllExceptions(((Constructor<?>) elmt).
  172.94 +                        getExceptionTypes());
  172.95 +
  172.96 +        if(exceptions.length > 0 ) {
  172.97 +            String fieldName = isSetter ? JMX.SET_EXCEPTIONS_FIELD :
  172.98 +                JMX.EXCEPTIONS_FIELD;
  172.99 +
 172.100 +            String[] fieldNames = {fieldName};
 172.101 +            Object[] fieldValues = {exceptions};
 172.102 +            descr = ImmutableDescriptor.union(descr,
 172.103 +                    new ImmutableDescriptor(fieldNames, fieldValues));
 172.104 +        }
 172.105 +
 172.106 +        return descr;
 172.107      }
 172.108  
 172.109      public static Descriptor descriptorForAnnotation(Annotation annot) {
 172.110 @@ -489,6 +558,20 @@
 172.111              return new ImmutableDescriptor(descriptorMap);
 172.112      }
 172.113  
 172.114 +    /**
 172.115 +     * Array of thrown excepions.
 172.116 +     * @param exceptions can be null;
 172.117 +     * @return An Array of Exception class names. Size is 0 if method is null.
 172.118 +     */
 172.119 +    private static String[] getAllExceptions(Class<?>[] exceptions) {
 172.120 +        Set<String> set = new LinkedHashSet<String>();
 172.121 +        for(Class<?>ex : exceptions)
 172.122 +            set.add(ex.getName());
 172.123 +
 172.124 +        String[] arr = new String[set.size()];
 172.125 +        return set.toArray(arr);
 172.126 +    }
 172.127 +
 172.128      private static void addDescriptorFieldsToMap(
 172.129              Map<String, Object> descriptorMap, DescriptorFields df) {
 172.130          for (String field : df.value()) {
   173.1 --- a/src/share/classes/com/sun/jmx/mbeanserver/MBeanInjector.java	Wed Jan 14 21:35:03 2009 -0800
   173.2 +++ b/src/share/classes/com/sun/jmx/mbeanserver/MBeanInjector.java	Tue Jan 20 09:42:07 2009 -0800
   173.3 @@ -47,6 +47,10 @@
   173.4  import javax.management.SendNotification;
   173.5  
   173.6  public class MBeanInjector {
   173.7 +    // There are no instances of this class
   173.8 +    private MBeanInjector() {
   173.9 +    }
  173.10 +
  173.11      private static Class<?>[] injectedClasses = {
  173.12          MBeanServer.class, ObjectName.class, SendNotification.class,
  173.13      };
   174.1 --- a/src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java	Wed Jan 14 21:35:03 2009 -0800
   174.2 +++ b/src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java	Tue Jan 20 09:42:07 2009 -0800
   174.3 @@ -614,6 +614,15 @@
   174.4      }
   174.5  
   174.6      /**
   174.7 +     * Returns the class of a primitive type.
   174.8 +     * @param name The type for which we the associated class.
   174.9 +     * @return the class, or null if name is not primitive.
  174.10 +     */
  174.11 +    public static Class<?> primitiveType(String name) {
  174.12 +        return primitiveClasses.get(name);
  174.13 +    }
  174.14 +
  174.15 +    /**
  174.16       * Load a class with the specified loader, or with this object
  174.17       * class loader if the specified loader is null.
  174.18       **/
  174.19 @@ -636,7 +645,7 @@
  174.20              }
  174.21          } catch (ClassNotFoundException e) {
  174.22              throw new ReflectionException(e,
  174.23 -            "The MBean class could not be loaded by the context classloader");
  174.24 +            "The MBean class could not be loaded");
  174.25          }
  174.26          return theClass;
  174.27      }
   175.1 --- a/src/share/classes/com/sun/jmx/mbeanserver/MBeanIntrospector.java	Wed Jan 14 21:35:03 2009 -0800
   175.2 +++ b/src/share/classes/com/sun/jmx/mbeanserver/MBeanIntrospector.java	Tue Jan 20 09:42:07 2009 -0800
   175.3 @@ -44,7 +44,6 @@
   175.4  import javax.management.ImmutableDescriptor;
   175.5  import javax.management.IntrospectionException;
   175.6  import javax.management.InvalidAttributeValueException;
   175.7 -import javax.management.JMX;
   175.8  import javax.management.MBean;
   175.9  import javax.management.MBeanAttributeInfo;
  175.10  import javax.management.MBeanConstructorInfo;
  175.11 @@ -404,7 +403,7 @@
  175.12                      new ImmutableDescriptor(interfaceClassName);
  175.13              final Descriptor mbeanDescriptor = getBasicMBeanDescriptor();
  175.14              final Descriptor annotatedDescriptor =
  175.15 -                    Introspector.descriptorForElement(mbeanInterface);
  175.16 +                    Introspector.descriptorForElement(mbeanInterface, false);
  175.17              final Descriptor descriptor =
  175.18                  DescriptorCache.getInstance().union(
  175.19                      classNameDescriptor,
  175.20 @@ -519,7 +518,7 @@
  175.21       * see the version of the @ManagedAttribute (or ...Operation) annotation
  175.22       * from that method, which might have a different description or whatever.
  175.23       */
  175.24 -    private static void getAnnotatedMethods(Class<?> c, List<Method> methods)
  175.25 +    public static void getAnnotatedMethods(Class<?> c, List<Method> methods)
  175.26      throws Exception {
  175.27          Class<?> sup = c.getSuperclass();
  175.28          if (sup != null)
  175.29 @@ -538,6 +537,14 @@
  175.30          }
  175.31      }
  175.32  
  175.33 +    /*
  175.34 +     * Return the array of MBeanNotificationInfo for the given MBean object.
  175.35 +     * If the object implements NotificationBroadcaster and its
  175.36 +     * getNotificationInfo() method returns a non-empty array, then that
  175.37 +     * is the result.  Otherwise, if the object has a @NotificationInfo
  175.38 +     * or @NotificationInfos annotation, then its contents form the result.
  175.39 +     * Otherwise, the result is null.
  175.40 +     */
  175.41      static MBeanNotificationInfo[] findNotifications(Object moi) {
  175.42          if (moi instanceof NotificationBroadcaster) {
  175.43              MBeanNotificationInfo[] mbn =
  175.44 @@ -553,6 +560,13 @@
  175.45                  }
  175.46                  return result;
  175.47              }
  175.48 +        } else {
  175.49 +            try {
  175.50 +                if (!MBeanInjector.injectsSendNotification(moi))
  175.51 +                    return null;
  175.52 +            } catch (NotCompliantMBeanException e) {
  175.53 +                throw new RuntimeException(e);
  175.54 +            }
  175.55          }
  175.56          return findNotificationsFromAnnotations(moi.getClass());
  175.57      }
   176.1 --- a/src/share/classes/com/sun/jmx/mbeanserver/MXBeanIntrospector.java	Wed Jan 14 21:35:03 2009 -0800
   176.2 +++ b/src/share/classes/com/sun/jmx/mbeanserver/MXBeanIntrospector.java	Tue Jan 20 09:42:07 2009 -0800
   176.3 @@ -292,7 +292,7 @@
   176.4          Descriptor descriptor =
   176.5              typeDescriptor(returnType, originalReturnType);
   176.6          descriptor = ImmutableDescriptor.union(descriptor,
   176.7 -                Introspector.descriptorForElement(method));
   176.8 +                Introspector.descriptorForElement(method, false));
   176.9          final MBeanOperationInfo oi;
  176.10          if (openReturnType && openParameterTypes) {
  176.11              /* If the return value and all the parameters can be faithfully
   177.1 --- a/src/share/classes/com/sun/jmx/mbeanserver/MXBeanLookup.java	Wed Jan 14 21:35:03 2009 -0800
   177.2 +++ b/src/share/classes/com/sun/jmx/mbeanserver/MXBeanLookup.java	Tue Jan 20 09:42:07 2009 -0800
   177.3 @@ -37,7 +37,6 @@
   177.4  import javax.management.JMX;
   177.5  import javax.management.MBeanServerConnection;
   177.6  import javax.management.MBeanServerInvocationHandler;
   177.7 -import javax.management.MalformedObjectNameException;
   177.8  import javax.management.ObjectName;
   177.9  import javax.management.openmbean.OpenDataException;
  177.10  
  177.11 @@ -225,7 +224,7 @@
  177.12              String domain = prefix + name.getDomain();
  177.13              try {
  177.14                  name = name.withDomain(domain);
  177.15 -            } catch (MalformedObjectNameException e) {
  177.16 +            } catch (IllegalArgumentException e) {
  177.17                  throw EnvHelp.initCause(
  177.18                          new InvalidObjectException(e.getMessage()), e);
  177.19              }
  177.20 @@ -239,12 +238,14 @@
  177.21              String domain = name.getDomain();
  177.22              if (!domain.startsWith(prefix)) {
  177.23                  throw new OpenDataException(
  177.24 -                        "Proxy's name does not start with " + prefix + ": " + name);
  177.25 +                        "Proxy's name does not start with " +
  177.26 +                        prefix + ": " + name);
  177.27              }
  177.28              try {
  177.29                  name = name.withDomain(domain.substring(prefix.length()));
  177.30 -            } catch (MalformedObjectNameException e) {
  177.31 -                throw EnvHelp.initCause(new OpenDataException(e.getMessage()), e);
  177.32 +            } catch (IllegalArgumentException e) {
  177.33 +                throw EnvHelp.initCause(
  177.34 +                        new OpenDataException(e.getMessage()), e);
  177.35              }
  177.36              return name;
  177.37          }
   178.1 --- a/src/share/classes/com/sun/jmx/mbeanserver/Util.java	Wed Jan 14 21:35:03 2009 -0800
   178.2 +++ b/src/share/classes/com/sun/jmx/mbeanserver/Util.java	Tue Jan 20 09:42:07 2009 -0800
   178.3 @@ -48,7 +48,6 @@
   178.4  import javax.management.MBeanServer;
   178.5  import javax.management.MBeanServerDelegate;
   178.6  import javax.management.MBeanServerFactory;
   178.7 -import javax.management.MalformedObjectNameException;
   178.8  import javax.management.ObjectInstance;
   178.9  import javax.management.ObjectName;
  178.10  import javax.management.loading.ClassLoaderRepository;
   179.1 --- a/src/share/classes/com/sun/jmx/namespace/DomainInterceptor.java	Wed Jan 14 21:35:03 2009 -0800
   179.2 +++ b/src/share/classes/com/sun/jmx/namespace/DomainInterceptor.java	Tue Jan 20 09:42:07 2009 -0800
   179.3 @@ -42,7 +42,6 @@
   179.4  import javax.management.MBeanPermission;
   179.5  import javax.management.MBeanServerDelegate;
   179.6  import javax.management.MBeanServerNotification;
   179.7 -import javax.management.MalformedObjectNameException;
   179.8  import javax.management.Notification;
   179.9  import javax.management.NotificationFilter;
  179.10  import javax.management.NotificationListener;
  179.11 @@ -268,13 +267,9 @@
  179.12      // When we reach here, it has been verified that 'name' matches our domain
  179.13      // name (done by DomainDispatchInterceptor)
  179.14      private ObjectName getPatternFor(final ObjectName name) {
  179.15 -        try {
  179.16 -            if (name == null) return ALL;
  179.17 -            if (name.getDomain().equals(domainName)) return name;
  179.18 -            return name.withDomain(domainName);
  179.19 -        } catch (MalformedObjectNameException x) {
  179.20 -            throw new IllegalArgumentException(String.valueOf(name),x);
  179.21 -        }
  179.22 +        if (name == null) return ALL;
  179.23 +        if (name.getDomain().equals(domainName)) return name;
  179.24 +        return name.withDomain(domainName);
  179.25     }
  179.26  
  179.27      @Override
   180.1 --- a/src/share/classes/com/sun/jmx/namespace/NamespaceInterceptor.java	Wed Jan 14 21:35:03 2009 -0800
   180.2 +++ b/src/share/classes/com/sun/jmx/namespace/NamespaceInterceptor.java	Tue Jan 20 09:42:07 2009 -0800
   180.3 @@ -24,15 +24,12 @@
   180.4   */
   180.5  package com.sun.jmx.namespace;
   180.6  
   180.7 -import com.sun.jmx.defaults.JmxProperties;
   180.8  import java.util.ArrayList;
   180.9  import java.util.List;
  180.10 -import java.util.logging.Logger;
  180.11  
  180.12  import javax.management.Attribute;
  180.13  import javax.management.AttributeList;
  180.14  import javax.management.MBeanServer;
  180.15 -import javax.management.MalformedObjectNameException;
  180.16  import javax.management.ObjectName;
  180.17  import javax.management.namespace.JMXNamespace;
  180.18  import javax.management.namespace.JMXNamespacePermission;
  180.19 @@ -114,14 +111,12 @@
  180.20      }
  180.21  
  180.22      @Override
  180.23 -    protected ObjectName toSource(ObjectName targetName)
  180.24 -            throws MalformedObjectNameException {
  180.25 +    protected ObjectName toSource(ObjectName targetName) {
  180.26          return proc.toSourceContext(targetName, true);
  180.27      }
  180.28  
  180.29      @Override
  180.30 -    protected ObjectName toTarget(ObjectName sourceName)
  180.31 -            throws MalformedObjectNameException {
  180.32 +    protected ObjectName toTarget(ObjectName sourceName) {
  180.33          return proc.toTargetContext(sourceName, false);
  180.34      }
  180.35  
   181.1 --- a/src/share/classes/com/sun/jmx/namespace/ObjectNameRouter.java	Wed Jan 14 21:35:03 2009 -0800
   181.2 +++ b/src/share/classes/com/sun/jmx/namespace/ObjectNameRouter.java	Tue Jan 20 09:42:07 2009 -0800
   181.3 @@ -27,7 +27,6 @@
   181.4  
   181.5  import static javax.management.namespace.JMXNamespaces.NAMESPACE_SEPARATOR;
   181.6  
   181.7 -import javax.management.MalformedObjectNameException;
   181.8  import javax.management.ObjectInstance;
   181.9  import javax.management.ObjectName;
  181.10  
  181.11 @@ -83,11 +82,7 @@
  181.12          }
  181.13          final String targetDomain =
  181.14                  (tlen>0?targetPrefix+NAMESPACE_SEPARATOR+srcDomain:srcDomain);
  181.15 -        try {
  181.16 -            return sourceName.withDomain(targetDomain);
  181.17 -        } catch (MalformedObjectNameException x) {
  181.18 -            throw new IllegalArgumentException(String.valueOf(sourceName),x);
  181.19 -        }
  181.20 +        return sourceName.withDomain(targetDomain);
  181.21      }
  181.22  
  181.23      public final ObjectName toSourceContext(ObjectName targetName,
  181.24 @@ -113,11 +108,7 @@
  181.25          final String sourceDomain =
  181.26                  (slen>0?sourcePrefix+NAMESPACE_SEPARATOR+targetDomain:
  181.27                      targetDomain);
  181.28 -        try {
  181.29 -            return targetName.withDomain(sourceDomain);
  181.30 -        } catch (MalformedObjectNameException x) {
  181.31 -            throw new IllegalArgumentException(String.valueOf(targetName),x);
  181.32 -        }
  181.33 +        return targetName.withDomain(sourceDomain);
  181.34      }
  181.35  
  181.36      public final ObjectInstance toTargetContext(ObjectInstance sourceMoi,
   182.1 --- a/src/share/classes/com/sun/jmx/namespace/RoutingMBeanServerConnection.java	Wed Jan 14 21:35:03 2009 -0800
   182.2 +++ b/src/share/classes/com/sun/jmx/namespace/RoutingMBeanServerConnection.java	Tue Jan 20 09:42:07 2009 -0800
   182.3 @@ -46,7 +46,6 @@
   182.4  import javax.management.MBeanInfo;
   182.5  import javax.management.MBeanRegistrationException;
   182.6  import javax.management.MBeanServerConnection;
   182.7 -import javax.management.MalformedObjectNameException;
   182.8  import javax.management.NotCompliantMBeanException;
   182.9  import javax.management.NotificationFilter;
  182.10  import javax.management.NotificationListener;
  182.11 @@ -100,18 +99,17 @@
  182.12       * the target name is "foo//X".
  182.13       * In the case of cascading - such as in NamespaceInterceptor, this method
  182.14       * will convert "foo//X" (the targetName) into "X", the source name.
  182.15 +     * @throws IllegalArgumentException if the name cannot be converted.
  182.16       **/
  182.17 -    protected abstract ObjectName toSource(ObjectName targetName)
  182.18 -        throws MalformedObjectNameException;
  182.19 -
  182.20 +    protected abstract ObjectName toSource(ObjectName targetName);
  182.21      /**
  182.22       * Converts a source ObjectName to a target ObjectName.
  182.23       * (see description of toSource above for explanations)
  182.24       * In the case of cascading - such as in NamespaceInterceptor, this method
  182.25       * will convert "X" (the sourceName) into "foo//X", the target name.
  182.26 +     * @throws IllegalArgumentException if the name cannot be converted.
  182.27       **/
  182.28 -    protected abstract ObjectName toTarget(ObjectName sourceName)
  182.29 -        throws MalformedObjectNameException;
  182.30 +    protected abstract ObjectName toTarget(ObjectName sourceName);
  182.31  
  182.32      /**
  182.33       * Can be overridden by subclasses to check the validity of a new
  182.34 @@ -128,17 +126,12 @@
  182.35          }
  182.36      }
  182.37  
  182.38 -    // Calls toSource(), Wraps MalformedObjectNameException.
  182.39 -    ObjectName toSourceOrRuntime(ObjectName targetName)
  182.40 -        throws RuntimeOperationsException {
  182.41 +    // Calls toSource(), Wraps IllegalArgumentException.
  182.42 +    ObjectName toSourceOrRuntime(ObjectName targetName) {
  182.43          try {
  182.44              return toSource(targetName);
  182.45 -        } catch (MalformedObjectNameException x) {
  182.46 -            final IllegalArgumentException x2 =
  182.47 -                    new IllegalArgumentException(String.valueOf(targetName),x);
  182.48 -            final RuntimeOperationsException x3 =
  182.49 -                    new RuntimeOperationsException(x2);
  182.50 -            throw x3;
  182.51 +        } catch (RuntimeException x) {
  182.52 +            throw makeCompliantRuntimeException(x);
  182.53          }
  182.54      }
  182.55  
  182.56 @@ -376,12 +369,8 @@
  182.57          try {
  182.58              final ObjectName targetName = toTarget(sourceName);
  182.59              return new ObjectInstance(targetName,source.getClassName());
  182.60 -        } catch (MalformedObjectNameException x) {
  182.61 -            final IllegalArgumentException x2 =
  182.62 -                    new IllegalArgumentException(String.valueOf(sourceName),x);
  182.63 -            final RuntimeOperationsException x3 =
  182.64 -                    new RuntimeOperationsException(x2);
  182.65 -            throw x3;
  182.66 +        } catch (RuntimeException x) {
  182.67 +            throw makeCompliantRuntimeException(x);
  182.68          }
  182.69      }
  182.70  
   183.1 --- a/src/share/classes/com/sun/jmx/namespace/RoutingProxy.java	Wed Jan 14 21:35:03 2009 -0800
   183.2 +++ b/src/share/classes/com/sun/jmx/namespace/RoutingProxy.java	Tue Jan 20 09:42:07 2009 -0800
   183.3 @@ -199,8 +199,7 @@
   183.4      public T source() { return source; }
   183.5  
   183.6      @Override
   183.7 -    public ObjectName toSource(ObjectName targetName)
   183.8 -        throws MalformedObjectNameException {
   183.9 +    public ObjectName toSource(ObjectName targetName) {
  183.10          if (targetName == null) return null;
  183.11          if (targetName.getDomain().equals("") && targetNs.equals("")) {
  183.12              try {
  183.13 @@ -229,8 +228,7 @@
  183.14      }
  183.15  
  183.16      @Override
  183.17 -    public ObjectName toTarget(ObjectName sourceName)
  183.18 -        throws MalformedObjectNameException {
  183.19 +    public ObjectName toTarget(ObjectName sourceName) {
  183.20          if (sourceName == null) return null;
  183.21          return router.toTargetContext(sourceName,false);
  183.22      }
   184.1 --- a/src/share/classes/com/sun/jmx/remote/util/EnvHelp.java	Wed Jan 14 21:35:03 2009 -0800
   184.2 +++ b/src/share/classes/com/sun/jmx/remote/util/EnvHelp.java	Tue Jan 20 09:42:07 2009 -0800
   184.3 @@ -1,3 +1,4 @@
   184.4 +
   184.5  /*
   184.6   * Copyright 2003-2008 Sun Microsystems, Inc.  All Rights Reserved.
   184.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   184.8 @@ -798,6 +799,24 @@
   184.9                  JMXConnectorServer.DELEGATE_TO_EVENT_SERVICE, true, true);
  184.10      }
  184.11  
  184.12 +    /**
  184.13 +     * <p>Name of the attribute that specifies whether a connector server
  184.14 +     * should not prevent the VM from exiting
  184.15 +     */
  184.16 +    public static final String JMX_SERVER_DAEMON = "jmx.remote.x.daemon";
  184.17 +
  184.18 +    /**
  184.19 +     * Returns true if {@value SERVER_DAEMON} is specified in the {@code env}
  184.20 +     * as a key and its value is a String and it is equal to true ignoring case.
  184.21 +     *
  184.22 +     * @param env
  184.23 +     * @return
  184.24 +     */
  184.25 +    public static boolean isServerDaemon(Map<String, ?> env) {
  184.26 +        return (env != null) &&
  184.27 +                ("true".equalsIgnoreCase((String)env.get(JMX_SERVER_DAEMON)));
  184.28 +    }
  184.29 +
  184.30  //    /**
  184.31  //     * <p>Name of the attribute that specifies an EventRelay object to use.
  184.32  //     */
   185.1 --- a/src/share/classes/com/sun/servicetag/Installer.java	Wed Jan 14 21:35:03 2009 -0800
   185.2 +++ b/src/share/classes/com/sun/servicetag/Installer.java	Tue Jan 20 09:42:07 2009 -0800
   185.3 @@ -475,7 +475,7 @@
   185.4  
   185.5          String filename = "/com/sun/servicetag/resources/javase_" +
   185.6                  version + "_swordfish.properties";
   185.7 -        InputStream in = Installer.class.getClass().getResourceAsStream(filename);
   185.8 +        InputStream in = Installer.class.getResourceAsStream(filename);
   185.9          if (in == null) {
  185.10              return null;
  185.11          }
  185.12 @@ -813,7 +813,7 @@
  185.13                                     locale,
  185.14                                     String.valueOf(version)).toString();
  185.15              try {
  185.16 -                in = Installer.class.getClass().getResourceAsStream(resource + ".html");
  185.17 +                in = Installer.class.getResourceAsStream(resource + ".html");
  185.18                  if (in == null) {
  185.19                      // if the resource file is missing
  185.20                      if (isVerbose()) {
  185.21 @@ -825,34 +825,39 @@
  185.22                      System.out.println("Generating " + f + " from " + resource + ".html");
  185.23                  }
  185.24  
  185.25 -                br = new BufferedReader(new InputStreamReader(in, "UTF-8"));
  185.26 -                pw = new PrintWriter(f, "UTF-8");
  185.27 -                String line = null;
  185.28 -                while ((line = br.readLine()) != null) {
  185.29 -                    String output = line;
  185.30 -                    if (line.contains(JDK_VERSION_KEY)) {
  185.31 -                        output = line.replace(JDK_VERSION_KEY, jdkVersion);
  185.32 -                    } else if (line.contains(JDK_HEADER_PNG_KEY)) {
  185.33 -                        output = line.replace(JDK_HEADER_PNG_KEY, headerImageSrc);
  185.34 -                    } else if (line.contains(REGISTRATION_URL_KEY)) {
  185.35 -                        output = line.replace(REGISTRATION_URL_KEY, registerURL);
  185.36 -                    } else if (line.contains(REGISTRATION_PAYLOAD_KEY)) {
  185.37 -                        output = line.replace(REGISTRATION_PAYLOAD_KEY, payload.toString());
  185.38 +                try {
  185.39 +                    br = new BufferedReader(new InputStreamReader(in, "UTF-8"));
  185.40 +                    pw = new PrintWriter(f, "UTF-8");
  185.41 +                    String line = null;
  185.42 +                    while ((line = br.readLine()) != null) {
  185.43 +                        String output = line;
  185.44 +                        if (line.contains(JDK_VERSION_KEY)) {
  185.45 +                            output = line.replace(JDK_VERSION_KEY, jdkVersion);
  185.46 +                        } else if (line.contains(JDK_HEADER_PNG_KEY)) {
  185.47 +                            output = line.replace(JDK_HEADER_PNG_KEY, headerImageSrc);
  185.48 +                        } else if (line.contains(REGISTRATION_URL_KEY)) {
  185.49 +                            output = line.replace(REGISTRATION_URL_KEY, registerURL);
  185.50 +                        } else if (line.contains(REGISTRATION_PAYLOAD_KEY)) {
  185.51 +                            output = line.replace(REGISTRATION_PAYLOAD_KEY, payload.toString());
  185.52 +                        }
  185.53 +                        pw.println(output);
  185.54                      }
  185.55 -                    pw.println(output);
  185.56 +                    f.setReadOnly();
  185.57 +                    pw.flush();
  185.58 +                } finally {
  185.59 +                    // It's safe for this finally block to have two close statements
  185.60 +                    // consecutively as PrintWriter.close doesn't throw IOException.
  185.61 +                    if (pw != null) {
  185.62 +                        pw.close();
  185.63 +                    }
  185.64 +                    if (br!= null) {
  185.65 +                        br.close();
  185.66 +                    }
  185.67                  }
  185.68 -                f.setReadOnly();
  185.69 -                pw.flush();
  185.70              } finally {
  185.71 -                if (pw != null) {
  185.72 -                    pw.close();
  185.73 -                }
  185.74                  if (in != null) {
  185.75                      in.close();
  185.76                  }
  185.77 -                if (br!= null) {
  185.78 -                    br.close();
  185.79 -                }
  185.80              }
  185.81          }
  185.82      }
   186.1 --- a/src/share/classes/com/sun/servicetag/SolarisSystemEnvironment.java	Wed Jan 14 21:35:03 2009 -0800
   186.2 +++ b/src/share/classes/com/sun/servicetag/SolarisSystemEnvironment.java	Tue Jan 20 09:42:07 2009 -0800
   186.3 @@ -62,8 +62,8 @@
   186.4              return "Sun Microsystems, Inc";
   186.5          }
   186.6  
   186.7 -        // if we're here, then we'll try smbios (type 3)
   186.8 -        return getSmbiosData("3", "Manufacturer: ");
   186.9 +        // if we're here, then we'll try smbios (type 4)
  186.10 +        return getSmbiosData("4", "Manufacturer: ");
  186.11      }
  186.12  
  186.13      /**
   187.1 --- a/src/share/classes/com/sun/servicetag/SunConnection.java	Wed Jan 14 21:35:03 2009 -0800
   187.2 +++ b/src/share/classes/com/sun/servicetag/SunConnection.java	Tue Jan 20 09:42:07 2009 -0800
   187.3 @@ -213,10 +213,16 @@
   187.4              con.setRequestProperty("Content-Type", "text/xml;charset=\"utf-8\"");
   187.5              con.connect();
   187.6  
   187.7 -            OutputStream out = con.getOutputStream();
   187.8 -            registration.storeToXML(out);
   187.9 -            out.flush();
  187.10 -            out.close();
  187.11 +            OutputStream out = null;
  187.12 +            try {
  187.13 +                out = con.getOutputStream();
  187.14 +                registration.storeToXML(out);
  187.15 +                out.flush();
  187.16 +            } finally {
  187.17 +                if (out != null) {
  187.18 +                    out.close();
  187.19 +                }
  187.20 +            }
  187.21  
  187.22              int returnCode = con.getResponseCode();
  187.23              if (Util.isVerbose()) {
   188.1 --- a/src/share/classes/com/sun/servicetag/Util.java	Wed Jan 14 21:35:03 2009 -0800
   188.2 +++ b/src/share/classes/com/sun/servicetag/Util.java	Tue Jan 20 09:42:07 2009 -0800
   188.3 @@ -140,11 +140,14 @@
   188.4              }
   188.5              return e.getMessage();
   188.6          } finally {
   188.7 -            if (r != null) {
   188.8 -                r.close();
   188.9 -            }
  188.10 -            if (err != null) {
  188.11 -                err.close();
  188.12 +            try {
  188.13 +                if (r != null) {
  188.14 +                    r.close();
  188.15 +                }
  188.16 +            } finally {
  188.17 +                if (err != null) {
  188.18 +                    err.close();
  188.19 +                }
  188.20              }
  188.21          }
  188.22      }
   189.1 --- a/src/share/classes/com/sun/servicetag/WindowsSystemEnvironment.java	Wed Jan 14 21:35:03 2009 -0800
   189.2 +++ b/src/share/classes/com/sun/servicetag/WindowsSystemEnvironment.java	Tue Jan 20 09:42:07 2009 -0800
   189.3 @@ -107,11 +107,17 @@
   189.4              Process p = pb.start();
   189.5              // need this for executing windows commands (at least
   189.6              // needed for executing wmic command)
   189.7 -            BufferedWriter bw = new BufferedWriter(
   189.8 -                new OutputStreamWriter(p.getOutputStream()));
   189.9 -            bw.write(13);
  189.10 -            bw.flush();
  189.11 -            bw.close();
  189.12 +            BufferedWriter bw = null;
  189.13 +            try {
  189.14 +                bw = new BufferedWriter(
  189.15 +                         new OutputStreamWriter(p.getOutputStream()));
  189.16 +                bw.write(13);
  189.17 +                bw.flush();
  189.18 +            } finally {
  189.19 +                if (bw != null) {
  189.20 +                    bw.close();
  189.21 +                }
  189.22 +            }
  189.23  
  189.24              p.waitFor();
  189.25              if (p.exitValue() == 0) {
   190.1 --- a/src/share/classes/java/awt/print/PrinterJob.java	Wed Jan 14 21:35:03 2009 -0800
   190.2 +++ b/src/share/classes/java/awt/print/PrinterJob.java	Tue Jan 20 09:42:07 2009 -0800
   190.3 @@ -117,15 +117,18 @@
   190.4       * FileOutputStream outstream;
   190.5       * StreamPrintService psPrinter;
   190.6       * String psMimeType = "application/postscript";
   190.7 +     * PrinterJob pj = PrinterJob.getPrinterJob();
   190.8       *
   190.9       * StreamPrintServiceFactory[] factories =
  190.10       *     PrinterJob.lookupStreamPrintServices(psMimeType);
  190.11       * if (factories.length > 0) {
  190.12       *     try {
  190.13       *         outstream = new File("out.ps");
  190.14 -     *         psPrinter =  factories[0].getPrintService(fos);
  190.15 +     *         psPrinter =  factories[0].getPrintService(outstream);
  190.16       *         // psPrinter can now be set as the service on a PrinterJob
  190.17 -     *     } catch (FileNotFoundException e) {
  190.18 +     *         pj.setPrintService(psPrinter)
  190.19 +     *     } catch (Exception e) {
  190.20 +     *         e.printStackTrace();
  190.21       *     }
  190.22       * }
  190.23       * </pre>
   191.1 --- a/src/share/classes/javax/crypto/Cipher.java	Wed Jan 14 21:35:03 2009 -0800
   191.2 +++ b/src/share/classes/javax/crypto/Cipher.java	Tue Jan 20 09:42:07 2009 -0800
   191.3 @@ -2377,7 +2377,7 @@
   191.4       * For more information on default key size in JCE jurisdiction
   191.5       * policy files, please see Appendix E in the
   191.6       * <a href=
   191.7 -     *   "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html#AppE">
   191.8 +     *   "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html#AppC">
   191.9       * Java Cryptography Architecture Reference Guide</a>.
  191.10       *
  191.11       * @param transformation the cipher transformation.
   192.1 --- a/src/share/classes/javax/management/Descriptor.java	Wed Jan 14 21:35:03 2009 -0800
   192.2 +++ b/src/share/classes/javax/management/Descriptor.java	Tue Jan 20 09:42:07 2009 -0800
   192.3 @@ -147,6 +147,31 @@
   192.4   * might be disabled if it cannot currently be emitted but could be in
   192.5   * other circumstances.</td>
   192.6   *
   192.7 + * <tr id="exceptions"><td><i>exceptions</i><td>String[]</td>
   192.8 + * <td>MBeanAttributeInfo, MBeanConstructorInfo, MBeanOperationInfo</td>
   192.9 + *
  192.10 + * <td>The class names of the exceptions that can be thrown when invoking a
  192.11 + * constructor or operation, or getting an attribute. Exceptions thrown when
  192.12 + * setting an attribute are specified by the field
  192.13 + * <a href="#setExceptions">{@code setExceptions}</a>.
  192.14 + *
  192.15 + * <tr id="exceptionErrorCodes"><td>exceptionErrorCodes</td><td>String[]</td>
  192.16 + * <td>MBeanAttributeInfo<br>MBeanConstructorInfo<br>MBeanOperationInfo</td>
  192.17 + *
  192.18 + * <td>The {@linkplain GenericMBeanException#getErrorCode() error codes}
  192.19 + * that can appear in a {@link GenericMBeanException} thrown when getting
  192.20 + * this attribute or invoking this operation or constructor.  See also
  192.21 + * <a href="#setExceptionErrorCodes">{@code setExceptionErrorCodes}</a>.
  192.22 + *
  192.23 + * <tr id="exceptionUserDataTypes"><td>exceptionUserDataTypes</td>
  192.24 + * <td>{@link javax.management.openmbean.CompositeType}[]</td>
  192.25 + * <td>MBeanAttributeInfo<br>MBeanConstructorInfo<br>MBeanOperationInfo</td>
  192.26 + *
  192.27 + * <td>The types of {@linkplain GenericMBeanException#getUserData() userData}
  192.28 + * that can appear in a {@link GenericMBeanException} thrown when getting
  192.29 + * this attribute or invoking this operation or constructor.  See also
  192.30 + * <a href="#setExceptionUserDataTypes">{@code setExceptionUserDataTypes}</a>.
  192.31 + *
  192.32   * <tr id="immutableInfo"><td><i>immutableInfo</i><td>String</td>
  192.33   * <td>MBeanInfo</td>
  192.34   *
  192.35 @@ -237,6 +262,13 @@
  192.36   * MXBean, if it was not the {@linkplain MXBeanMappingFactory#DEFAULT default}
  192.37   * one.</td>
  192.38   *
  192.39 + * <tr><td id="objectNameTemplate"><i>objectNameTemplate</i>
  192.40 + * </td><td>String</td>
  192.41 + * <td>MBeanInfo</td>
  192.42 + *
  192.43 + * <td>The template to use to name this MBean. Its value must be compliant with
  192.44 + * the specification of the {@link ObjectNameTemplate} annotation.</td>
  192.45 + *
  192.46   * <tr id="openType"><td><i>openType</i><td>{@link OpenType}</td>
  192.47   * <td>MBeanAttributeInfo<br>MBeanOperationInfo<br>MBeanParameterInfo</td>
  192.48   *
  192.49 @@ -270,6 +302,30 @@
  192.50   * href="MXBean.html#type-names">Type Names</a> of the MXBean
  192.51   * specification.</p>
  192.52   *
  192.53 + * <tr id="setExceptions"><td><i>setExceptions</i><td>String[]</td>
  192.54 + * <td>MBeanAttributeInfo</td>
  192.55 + *
  192.56 + * <td>The class names of the exceptions that can be thrown when setting
  192.57 + * an attribute. Exceptions thrown when getting an attribute are specified
  192.58 + * by the field <a href="#exceptions">{@code exceptions}</a>.
  192.59 + *
  192.60 + * <tr id="setExceptionErrorCodes"><td>setExceptionErrorCodes</td>
  192.61 + * <td>String[]</td><td>MBeanAttributeInfo</td>
  192.62 + *
  192.63 + * <td>The {@linkplain GenericMBeanException#getErrorCode() error codes}
  192.64 + * that can appear in a {@link GenericMBeanException} thrown when setting
  192.65 + * this attribute.  See also
  192.66 + * <a href="#exceptionErrorCodes">{@code exceptionErrorCodes}</a>.
  192.67 + *
  192.68 + * <tr id="setExceptionUserDataTypes"><td>setExceptionUserDataTypes</td>
  192.69 + * <td>{@link javax.management.openmbean.CompositeType}[]</td>
  192.70 + * <td>MBeanAttributeInfo</td>
  192.71 + *
  192.72 + * <td>The types of {@linkplain GenericMBeanException#getUserData() userData}
  192.73 + * that can appear in a {@link GenericMBeanException} thrown when setting
  192.74 + * this attribute.  See also
  192.75 + * <a href="#exceptionUserDataTypes">{@code exceptionUserDataTypes}</a>.
  192.76 + *
  192.77   * <tr><td>severity</td><td>String<br>Integer</td>
  192.78   * <td>MBeanNotificationInfo</td>
  192.79   *
   193.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   193.2 +++ b/src/share/classes/javax/management/GenericMBeanException.java	Tue Jan 20 09:42:07 2009 -0800
   193.3 @@ -0,0 +1,276 @@
   193.4 +/*
   193.5 + * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
   193.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   193.7 + *
   193.8 + * This code is free software; you can redistribute it and/or modify it
   193.9 + * under the terms of the GNU General Public License version 2 only, as
  193.10 + * published by the Free Software Foundation.  Sun designates this
  193.11 + * particular file as subject to the "Classpath" exception as provided
  193.12 + * by Sun in the LICENSE file that accompanied this code.
  193.13 + *
  193.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
  193.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  193.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  193.17 + * version 2 for more details (a copy is included in the LICENSE file that
  193.18 + * accompanied this code).
  193.19 + *
  193.20 + * You should have received a copy of the GNU General Public License version
  193.21 + * 2 along with this work; if not, write to the Free Software Foundation,
  193.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  193.23 + *
  193.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  193.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
  193.26 + * have any questions.
  193.27 + */
  193.28 +
  193.29 +package javax.management;
  193.30 +
  193.31 +import javax.management.openmbean.CompositeData;
  193.32 +
  193.33 +/**
  193.34 + * <p>A customizable exception that has an optional error code string and
  193.35 + * payload.  By using this exception in an MBean, you can avoid requiring
  193.36 + * clients of the MBean to have custom exception classes.</p>
  193.37 + *
  193.38 + * <p>An instance of this class has an optional {@linkplain #getErrorCode()
  193.39 + * error code}, and an optional {@linkplain #getUserData() payload} known as
  193.40 + * {@code userData}.  This allows you to distinguish between different
  193.41 + * sorts of exception while still using this class for all of them.</p>
  193.42 + *
  193.43 + * <p>To produce a suitable {@code userData}, it is often simplest to use
  193.44 + * the MXBean framework.  For example, suppose you want to convey a severity
  193.45 + * and a subsystem with your exception, which are respectively an int and a
  193.46 + * String.  You could define a class like this:</p>
  193.47 + *
  193.48 + * <pre>
  193.49 + * public class ExceptionDetails {
  193.50 + *     private final int severity;
  193.51 + *     private final String subsystem;
  193.52 + *
  193.53 + *     {@link java.beans.ConstructorProperties &#64;ConstructorProperties}(<!--
  193.54 + * -->{"severity", "subsystem"})
  193.55 + *     public ExceptionDetails(int severity, String subsystem) {
  193.56 + *         this.severity = severity;
  193.57 + *         this.subsystem = subsystem;
  193.58 + *     }
  193.59 + *
  193.60 + *     public int getSeverity() {
  193.61 + *         return severity;
  193.62 + *     }
  193.63 + *
  193.64 + *     public String getSubsystem() {
  193.65 + *         return subsystem;
  193.66 + *     }
  193.67 + * }
  193.68 + * </pre>
  193.69 + *
  193.70 + * <p>Then you can get the MXBean framework to transform {@code ExceptionDetails}
  193.71 + * into {@link CompositeData} like this:</p>
  193.72 + *
  193.73 + * <pre>
  193.74 + * static final <!--
  193.75 + * -->{@link javax.management.openmbean.MXBeanMapping MXBeanMapping} <!--
  193.76 + * -->exceptionDetailsMapping = <!--
  193.77 + * -->{@link javax.management.openmbean.MXBeanMappingFactory#DEFAULT
  193.78 + *     MXBeanMappingFactory.DEFAULT}.mappingForType(
  193.79 + *         ExceptionDetails.class, MXBeanMappingFactory.DEFAULT);
  193.80 + *
  193.81 + * public static GenericMBeanException newGenericMBeanException(
  193.82 + *         String message, String errorCode, int severity, String subsystem) {
  193.83 + *     ExceptionDetails details = new ExceptionDetails(severity, subsystem);
  193.84 + *     CompositeData userData = (CompositeData)
  193.85 + *             exceptionDetailsMapping.toOpenValue(details);
  193.86 + *     return new GenericMBeanException(
  193.87 + *             message, errorCode, userData, (Throwable) null);
  193.88 + * }
  193.89 + *
  193.90 + * ...
  193.91 + *     throw newGenericMBeanException(message, errorCode, 25, "foosystem");
  193.92 + * </pre>
  193.93 + *
  193.94 + * <p>A client that knows the {@code ExceptionDetails} class can convert
  193.95 + * back from the {@code userData} of a {@code GenericMBeanException}
  193.96 + * that was generated as above:</p>
  193.97 + *
  193.98 + * <pre>
  193.99 + * ...
 193.100 + *     try {
 193.101 + *         mbeanProxy.foo();
 193.102 + *     } catch (GenericMBeanException e) {
 193.103 + *         CompositeData userData = e.getUserData();
 193.104 + *         ExceptionDetails details = (ExceptionDetails)
 193.105 + *                 exceptionDetailsMapping.fromOpenValue(userData);
 193.106 + *         System.out.println("Exception Severity: " + details.getSeverity());
 193.107 + *     }
 193.108 + * ...
 193.109 + * </pre>
 193.110 + *
 193.111 + * <p>The Descriptor field <a href="Descriptor.html#exceptionErrorCodes"><!--
 193.112 + * -->exceptionErrorCodes</a> can be used to specify in the
 193.113 + * {@link MBeanOperationInfo} for an operation what the possible
 193.114 + * {@linkplain #getErrorCode() error codes} are when that operation throws
 193.115 + * {@code GenericMBeanException}.  It can also be used in an {@link
 193.116 + * MBeanConstructorInfo} or {@link MBeanAttributeInfo} to specify what the
 193.117 + * possible error codes are for {@code GenericMBeanException} when invoking
 193.118 + * that constructor or getting that attribute, respectively.  The field
 193.119 + * <a href="Descriptor.html#setExceptionErrorCodes"><!--
 193.120 + * -->setExceptionErrorCodes</a> can be used to specify what the possible
 193.121 + * error codes are when setting an attribute.</p>
 193.122 + *
 193.123 + * <p>You may want to use the {@link DescriptorKey &#64;DescriptorKey} facility
 193.124 + * to define annotations that allow you to specify the error codes.  If you
 193.125 + * define...</p>
 193.126 + *
 193.127 + * <pre>
 193.128 + * {@link java.lang.annotation.Documented &#64;Documented}
 193.129 + * {@link java.lang.annotation.Target &#64;Target}(ElementType.METHOD)
 193.130 + * {@link java.lang.annotation.Retention &#64;Retention}(RetentionPolicy.RUNTIME)
 193.131 + * public &#64;interface ErrorCodes {
 193.132 + *     &#64;DescriptorKey("exceptionErrorCodes")
 193.133 + *     String[] value();
 193.134 + * }
 193.135 + * </pre>
 193.136 + *
 193.137 + * <p>...then you can write MBean interfaces like this...</p>
 193.138 + *
 193.139 + * <pre>
 193.140 + * public interface FooMBean {  // or FooMXBean
 193.141 + *     &#64;ErrorCodes({"com.example.bad", "com.example.worse"})
 193.142 + *     public void foo() throws GenericMBeanException;
 193.143 + * }
 193.144 + * </pre>
 193.145 + *
 193.146 + * <p>The Descriptor field <a href="Descriptor.html#exceptionUserDataTypes"><!--
 193.147 + * -->exceptionUserDataTypes</a> can be used to specify in the
 193.148 + * {@link MBeanOperationInfo} for an operation what the possible types of
 193.149 + * {@linkplain #getUserData() userData} are when that operation throws
 193.150 + * {@code GenericMBeanException}.  It is an array of
 193.151 + * {@link javax.management.openmbean.CompositeType CompositeType} values
 193.152 + * describing the possible {@link CompositeData} formats.  This field can also be used
 193.153 + * in an {@link MBeanConstructorInfo} or {@link MBeanAttributeInfo} to specify
 193.154 + * the possible types of user data for {@code GenericMBeanException} when
 193.155 + * invoking that constructor or getting that attribute, respectively.  The
 193.156 + * field
 193.157 + * <a href="Descriptor.html#setExceptionUserDataTypes">setExceptionUserDataTypes</a>
 193.158 + * can be used to specify the possible types of user data for exceptions when
 193.159 + * setting an attribute.  If a Descriptor has both {@code exceptionErrorCodes}
 193.160 + * and {@code exceptionUserDataTypes} then the two arrays should be the
 193.161 + * same size; each pair of corresponding elements describes one kind
 193.162 + * of exception.  Similarly for {@code setExceptionErrorCodes} and {@code
 193.163 + * setExceptionUserDataTypes}.
 193.164 + *
 193.165 + *
 193.166 + * <h4>Serialization</h4>
 193.167 + *
 193.168 + * <p>For compatibility reasons, instances of this class are serialized as
 193.169 + * instances of {@link MBeanException}.  Special logic in that class converts
 193.170 + * them back to instances of this class at deserialization time.  If the
 193.171 + * serialized object is deserialized in an earlier version of the JMX API
 193.172 + * that does not include this class, then it will appear as just an {@code
 193.173 + * MBeanException} and the error code or userData will not be available.</p>
 193.174 + *
 193.175 + * @since 1.7
 193.176 + */
 193.177 +public class GenericMBeanException extends MBeanException {
 193.178 +    private static final long serialVersionUID = -1560202003985932823L;
 193.179 +
 193.180 +    /**
 193.181 +     * <p>Constructs a new {@code GenericMBeanException} with the given
 193.182 +     * detail message.  This constructor is
 193.183 +     * equivalent to {@link #GenericMBeanException(String, String,
 193.184 +     * CompositeData, Throwable) GenericMBeanException(message, "",
 193.185 +     * null, null)}.</p>
 193.186 +     *
 193.187 +     * @param message the exception detail message.
 193.188 +     */
 193.189 +    public GenericMBeanException(String message) {
 193.190 +        this(message, "", null, null);
 193.191 +    }
 193.192 +
 193.193 +    /**
 193.194 +     * <p>Constructs a new {@code GenericMBeanException} with the given
 193.195 +     * detail message and cause.  This constructor is
 193.196 +     * equivalent to {@link #GenericMBeanException(String, String,
 193.197 +     * CompositeData, Throwable) GenericMBeanException(message, "",
 193.198 +     * null, cause)}.</p>
 193.199 +     *
 193.200 +     * @param message the exception detail message.
 193.201 +     * @param cause the cause of this exception.  Can be null.
 193.202 +     */
 193.203 +    public GenericMBeanException(String message, Throwable cause) {
 193.204 +        this(message, "", null, cause);
 193.205 +    }
 193.206 +
 193.207 +    /**
 193.208 +     * <p>Constructs a new {@code GenericMBeanException} with the given
 193.209 +     * detail message, error code, and user data.  This constructor is
 193.210 +     * equivalent to {@link #GenericMBeanException(String, String,
 193.211 +     * CompositeData, Throwable) GenericMBeanException(message, errorCode,
 193.212 +     * userData, null)}.</p>
 193.213 +     *
 193.214 +     * @param message the exception detail message.
 193.215 +     * @param errorCode the exception error code.  Specifying a null value
 193.216 +     * is equivalent to specifying an empty string.  It is recommended to use
 193.217 +     * the same reverse domain name convention as package names, for example
 193.218 +     * "com.example.foo.UnexpectedFailure".  There is no requirement that the
 193.219 +     * error code be a syntactically valid Java identifier.
 193.220 +     * @param userData extra information about the exception.  Can be null.
 193.221 +     */
 193.222 +    public GenericMBeanException(
 193.223 +            String message, String errorCode, CompositeData userData) {
 193.224 +        this(message, errorCode, userData, null);
 193.225 +    }
 193.226 +
 193.227 +    /**
 193.228 +     * <p>Constructs a new {@code GenericMBeanException} with the given
 193.229 +     * detail message, error code, user data, and cause.</p>
 193.230 +     *
 193.231 +     * @param message the exception detail message.
 193.232 +     * @param errorCode the exception error code.  Specifying a null value
 193.233 +     * is equivalent to specifying an empty string.  It is recommended to use
 193.234 +     * the same reverse domain name convention as package names, for example
 193.235 +     * "com.example.foo.UnexpectedFailure".  There is no requirement that the
 193.236 +     * error code be a syntactically valid Java identifier.
 193.237 +     * @param userData extra information about the exception.  Can be null.
 193.238 +     * @param cause the cause of this exception.  Can be null.
 193.239 +     */
 193.240 +    public GenericMBeanException(
 193.241 +            String message, String errorCode, CompositeData userData,
 193.242 +            Throwable cause) {
 193.243 +        super(message, (errorCode == null) ? "" : errorCode, userData, cause);
 193.244 +    }
 193.245 +
 193.246 +    /**
 193.247 +     * <p>Returns the error code of this exception.</p>
 193.248 +     *
 193.249 +     * @return the error code.  This value is never null.
 193.250 +     */
 193.251 +    public String getErrorCode() {
 193.252 +        return errorCode;
 193.253 +    }
 193.254 +
 193.255 +    /**
 193.256 +     * <p>Returns the userData of this exception.</p>
 193.257 +     *
 193.258 +     * @return the userData.  Can be null.
 193.259 +     */
 193.260 +    public CompositeData getUserData() {
 193.261 +        return userData;
 193.262 +    }
 193.263 +
 193.264 +    /**
 193.265 +     * <p>Instances of this class are serialized as instances of
 193.266 +     * {@link MBeanException}.  {@code MBeanException} has private fields that can
 193.267 +     * not be set by its public constructors.  They can only be set in objects
 193.268 +     * returned by this method.  When an {@code MBeanException} instance is
 193.269 +     * deserialized, if those fields are present then its {@code readResolve}
 193.270 +     * method will substitute a {@code GenericMBeanException} equivalent to
 193.271 +     * this one.</p>
 193.272 +     */
 193.273 +    Object writeReplace() {
 193.274 +        MBeanException x = new MBeanException(
 193.275 +                getMessage(), errorCode, userData, getCause());
 193.276 +        x.setStackTrace(this.getStackTrace());
 193.277 +        return x;
 193.278 +    }
 193.279 +}
   194.1 --- a/src/share/classes/javax/management/JMX.java	Wed Jan 14 21:35:03 2009 -0800
   194.2 +++ b/src/share/classes/javax/management/JMX.java	Tue Jan 20 09:42:07 2009 -0800
   194.3 @@ -76,6 +76,12 @@
   194.4              "descriptionResourceKey";
   194.5  
   194.6      /**
   194.7 +     * The name of the <a href="Descriptor.html#exceptions">{@code
   194.8 +     * exceptions}</a> field.
   194.9 +     */
  194.10 +    public static final String EXCEPTIONS_FIELD = "exceptions";
  194.11 +
  194.12 +    /**
  194.13       * The name of the <a href="Descriptor.html#immutableInfo">{@code
  194.14       * immutableInfo}</a> field.
  194.15       */
  194.16 @@ -138,6 +144,18 @@
  194.17      public static final String ORIGINAL_TYPE_FIELD = "originalType";
  194.18  
  194.19      /**
  194.20 +     * The name of the <a href="Descriptor.html#setExceptions">{@code
  194.21 +     * setExceptions}</a> field.
  194.22 +     */
  194.23 +    public static final String SET_EXCEPTIONS_FIELD = "setExceptions";
  194.24 +
  194.25 +    /**
  194.26 +     * The name of the <a href="Descriptor.html#objectNameTemplate">{@code
  194.27 +     * objectNameTemplate}</a> field.
  194.28 +     */
  194.29 +    public static final String OBJECT_NAME_TEMPLATE = "objectNameTemplate";
  194.30 +
  194.31 +    /**
  194.32       * <p>Options to apply to an MBean proxy or to an instance of {@link
  194.33       * StandardMBean}.</p>
  194.34       *
   195.1 --- a/src/share/classes/javax/management/MBeanAttributeInfo.java	Wed Jan 14 21:35:03 2009 -0800
   195.2 +++ b/src/share/classes/javax/management/MBeanAttributeInfo.java	Tue Jan 20 09:42:07 2009 -0800
   195.3 @@ -186,8 +186,10 @@
   195.4               (getter != null),
   195.5               (setter != null),
   195.6               isIs(getter),
   195.7 -             ImmutableDescriptor.union(Introspector.descriptorForElement(getter),
   195.8 -                                   Introspector.descriptorForElement(setter)));
   195.9 +             ImmutableDescriptor.union(Introspector.
  195.10 +             descriptorForElement(getter, false),
  195.11 +                                   Introspector.descriptorForElement(setter,
  195.12 +                                   true)));
  195.13      }
  195.14  
  195.15      /**
   196.1 --- a/src/share/classes/javax/management/MBeanConstructorInfo.java	Wed Jan 14 21:35:03 2009 -0800
   196.2 +++ b/src/share/classes/javax/management/MBeanConstructorInfo.java	Tue Jan 20 09:42:07 2009 -0800
   196.3 @@ -67,7 +67,7 @@
   196.4      public MBeanConstructorInfo(String description, Constructor<?> constructor) {
   196.5          this(constructor.getName(), description,
   196.6               constructorSignature(constructor),
   196.7 -             Introspector.descriptorForElement(constructor));
   196.8 +             Introspector.descriptorForElement(constructor, false));
   196.9      }
  196.10  
  196.11      /**
   197.1 --- a/src/share/classes/javax/management/MBeanException.java	Wed Jan 14 21:35:03 2009 -0800
   197.2 +++ b/src/share/classes/javax/management/MBeanException.java	Tue Jan 20 09:42:07 2009 -0800
   197.3 @@ -25,6 +25,8 @@
   197.4  
   197.5  package javax.management;
   197.6  
   197.7 +import javax.management.openmbean.CompositeData;
   197.8 +
   197.9  
  197.10  /**
  197.11   * Represents "user defined" exceptions thrown by MBean methods
  197.12 @@ -41,6 +43,26 @@
  197.13      private static final long serialVersionUID = 4066342430588744142L;
  197.14  
  197.15      /**
  197.16 +     * @serial This field is null for instances of this class that were
  197.17 +     * produced by its public constructors.  It is non-null for instances
  197.18 +     * of this class that represent serialized instances of {@link
  197.19 +     * GenericMBeanException}.
  197.20 +     *
  197.21 +     * @see GenericMBeanException#getErrorCode()
  197.22 +     */
  197.23 +    final String errorCode;
  197.24 +
  197.25 +    /**
  197.26 +     * @serial This field is null for instances of this class that were
  197.27 +     * produced by its public constructors.  It may be non-null for instances
  197.28 +     * of this class that represent serialized instances of {@link
  197.29 +     * GenericMBeanException}.
  197.30 +     *
  197.31 +     * @see GenericMBeanException#getUserData()
  197.32 +     */
  197.33 +    final CompositeData userData;
  197.34 +
  197.35 +    /**
  197.36       * @serial Encapsulated {@link Exception}
  197.37       */
  197.38      private java.lang.Exception exception ;
  197.39 @@ -51,9 +73,8 @@
  197.40       *
  197.41       * @param e the wrapped exception.
  197.42       */
  197.43 -    public MBeanException(java.lang.Exception e) {
  197.44 -        super() ;
  197.45 -        exception = e ;
  197.46 +    public MBeanException(Exception e) {
  197.47 +        this(null, null, null, e);
  197.48      }
  197.49  
  197.50      /**
  197.51 @@ -63,11 +84,19 @@
  197.52       * @param e the wrapped exception.
  197.53       * @param message the detail message.
  197.54       */
  197.55 -    public MBeanException(java.lang.Exception e, String message) {
  197.56 -        super(message) ;
  197.57 -        exception = e ;
  197.58 +    public MBeanException(Exception e, String message) {
  197.59 +        this(message, null, null, e);
  197.60      }
  197.61  
  197.62 +    MBeanException(
  197.63 +            String message, String errorCode, CompositeData userData, Throwable cause) {
  197.64 +        super(message);
  197.65 +        initCause(cause);
  197.66 +        if (cause instanceof Exception)
  197.67 +            this.exception = (Exception) cause;
  197.68 +        this.errorCode = errorCode;
  197.69 +        this.userData = userData;
  197.70 +    }
  197.71  
  197.72      /**
  197.73       * Return the actual {@link Exception} thrown.
  197.74 @@ -79,11 +108,24 @@
  197.75      }
  197.76  
  197.77      /**
  197.78 -     * Return the actual {@link Exception} thrown.
  197.79 -     *
  197.80 -     * @return the wrapped exception.
  197.81 +     * This method is invoked when deserializing instances of this class.
  197.82 +     * If the {@code errorCode} field of the deserialized instance is not
  197.83 +     * null, this method returns an instance of {@link GenericMBeanException}
  197.84 +     * instead.  Otherwise it returns {@code this}.
  197.85 +     * @return {@code this}, or a {@code GenericMBeanException}.
  197.86       */
  197.87 -    public Throwable getCause() {
  197.88 -        return exception;
  197.89 +    Object readResolve() {
  197.90 +        if (errorCode == null) {
  197.91 +            // serial compatibility: earlier versions did not set
  197.92 +            // Throwable.cause because they overrode getCause().
  197.93 +            if (getCause() == null && exception != null)
  197.94 +                initCause(exception);
  197.95 +            return this;
  197.96 +        } else {
  197.97 +            Throwable t = new GenericMBeanException(
  197.98 +                    getMessage(), errorCode, userData, getCause());
  197.99 +            t.setStackTrace(this.getStackTrace());
 197.100 +            return t;
 197.101 +        }
 197.102      }
 197.103  }
   198.1 --- a/src/share/classes/javax/management/MBeanOperationInfo.java	Wed Jan 14 21:35:03 2009 -0800
   198.2 +++ b/src/share/classes/javax/management/MBeanOperationInfo.java	Tue Jan 20 09:42:07 2009 -0800
   198.3 @@ -113,7 +113,7 @@
   198.4               methodSignature(method),
   198.5               method.getReturnType().getName(),
   198.6               UNKNOWN,
   198.7 -             Introspector.descriptorForElement(method));
   198.8 +             Introspector.descriptorForElement(method, false));
   198.9      }
  198.10  
  198.11      /**
   199.1 --- a/src/share/classes/javax/management/MBeanRegistration.java	Wed Jan 14 21:35:03 2009 -0800
   199.2 +++ b/src/share/classes/javax/management/MBeanRegistration.java	Tue Jan 20 09:42:07 2009 -0800
   199.3 @@ -79,6 +79,9 @@
   199.4   * }
   199.5   * </pre>
   199.6   *
   199.7 + * <p>(Listeners may be invoked in the same thread as the caller of
   199.8 + * {@code sender.sendNotification}.)</p>
   199.9 + *
  199.10   * <p>A field to be injected must not be static.  It is recommended that
  199.11   * such fields be declared {@code volatile}.</p>
  199.12   *
   200.1 --- a/src/share/classes/javax/management/MBeanServer.java	Wed Jan 14 21:35:03 2009 -0800
   200.2 +++ b/src/share/classes/javax/management/MBeanServer.java	Tue Jan 20 09:42:07 2009 -0800
   200.3 @@ -186,11 +186,11 @@
   200.4   * caller's permissions must imply {@link
   200.5   * MBeanPermission#MBeanPermission(String,String,String,ObjectName,String)
   200.6   * MBeanPermission(mbeanServerName, null, null, null, "queryMBeans")}.
   200.7 - * Additionally, for each MBean that matches <code>name</code>,
   200.8 + * Additionally, for each MBean <em>n</em> that matches <code>name</code>,
   200.9   * if the caller's permissions do not imply {@link
  200.10   * MBeanPermission#MBeanPermission(String,String,String,ObjectName,String)
  200.11 - * MBeanPermission(mbeanServerName, className, null, name, "queryMBeans")}, the
  200.12 - * MBean server will behave as if that MBean did not exist.</p>
  200.13 + * MBeanPermission(mbeanServerName, className, null, <em>n</em>, "queryMBeans")},
  200.14 + * the MBean server will behave as if that MBean did not exist.</p>
  200.15   *
  200.16   * <p>Certain query elements perform operations on the MBean server.
  200.17   * If the caller does not have the required permissions for a given
  200.18 @@ -351,11 +351,14 @@
  200.19  
  200.20      /**
  200.21       * <p>Registers a pre-existing object as an MBean with the MBean
  200.22 -     * server. If the object name given is null, the MBean must
  200.23 -     * provide its own name by implementing the {@link
  200.24 +     * server.  If the object name given is null, the
  200.25 +     * MBean must provide its own name in one or both of two ways: by implementing the {@link
  200.26       * javax.management.MBeanRegistration MBeanRegistration} interface
  200.27       * and returning the name from the {@link
  200.28 -     * MBeanRegistration#preRegister preRegister} method.</p>
  200.29 +     * MBeanRegistration#preRegister preRegister} method; or by defining
  200.30 +     * an {@code objectNameTemplate} field in its {@link Descriptor},
  200.31 +     * typically using the {@link ObjectNameTemplate &#64;ObjectNameTemplate}
  200.32 +     * annotation.</p>
  200.33       *
  200.34       * <p>If this method successfully registers an MBean, a notification
  200.35       * is sent as described <a href="#notif">above</a>.</p>
  200.36 @@ -421,10 +424,16 @@
  200.37      public ObjectInstance getObjectInstance(ObjectName name)
  200.38              throws InstanceNotFoundException;
  200.39  
  200.40 -    // doc comment inherited from MBeanServerConnection
  200.41 +    /**
  200.42 +     * {@inheritDoc}
  200.43 +      * @throws RuntimeOperationsException {@inheritDoc}
  200.44 +     */
  200.45      public Set<ObjectInstance> queryMBeans(ObjectName name, QueryExp query);
  200.46  
  200.47 -    // doc comment inherited from MBeanServerConnection
  200.48 +    /**
  200.49 +     * {@inheritDoc}
  200.50 +      * @throws RuntimeOperationsException {@inheritDoc}
  200.51 +    */
  200.52      public Set<ObjectName> queryNames(ObjectName name, QueryExp query);
  200.53  
  200.54      // doc comment inherited from MBeanServerConnection
   201.1 --- a/src/share/classes/javax/management/MBeanServerConnection.java	Wed Jan 14 21:35:03 2009 -0800
   201.2 +++ b/src/share/classes/javax/management/MBeanServerConnection.java	Tue Jan 20 09:42:07 2009 -0800
   201.3 @@ -46,11 +46,14 @@
   201.4       * MBean server will use its {@link
   201.5       * javax.management.loading.ClassLoaderRepository Default Loader
   201.6       * Repository} to load the class of the MBean.  An object name is
   201.7 -     * associated to the MBean.  If the object name given is null, the
   201.8 -     * MBean must provide its own name by implementing the {@link
   201.9 +     * associated with the MBean.  If the object name given is null, the
  201.10 +     * MBean must provide its own name in one or both of two ways: by implementing the {@link
  201.11       * javax.management.MBeanRegistration MBeanRegistration} interface
  201.12       * and returning the name from the {@link
  201.13 -     * MBeanRegistration#preRegister preRegister} method.</p>
  201.14 +     * MBeanRegistration#preRegister preRegister} method; or by defining
  201.15 +     * an {@code objectNameTemplate} field in its {@link Descriptor},
  201.16 +     * typically using the {@link ObjectNameTemplate &#64;ObjectNameTemplate}
  201.17 +     * annotation.</p>
  201.18       *
  201.19       * <p>This method is equivalent to {@link
  201.20       * #createMBean(String,ObjectName,Object[],String[])
  201.21 @@ -117,13 +120,16 @@
  201.22      /**
  201.23       * <p>Instantiates and registers an MBean in the MBean server.  The
  201.24       * class loader to be used is identified by its object name. An
  201.25 -     * object name is associated to the MBean. If the object name of
  201.26 +     * object name is associated with the MBean. If the object name of
  201.27       * the loader is null, the ClassLoader that loaded the MBean
  201.28 -     * server will be used.  If the MBean's object name given is null,
  201.29 -     * the MBean must provide its own name by implementing the {@link
  201.30 +     * server will be used.  If the object name given is null, the
  201.31 +     * MBean must provide its own name in one or both of two ways: by implementing the {@link
  201.32       * javax.management.MBeanRegistration MBeanRegistration} interface
  201.33       * and returning the name from the {@link
  201.34 -     * MBeanRegistration#preRegister preRegister} method.</p>
  201.35 +     * MBeanRegistration#preRegister preRegister} method; or by defining
  201.36 +     * an {@code objectNameTemplate} field in its {@link Descriptor},
  201.37 +     * typically using the {@link ObjectNameTemplate &#64;ObjectNameTemplate}
  201.38 +     * annotation.</p>
  201.39       *
  201.40       * <p>This method is equivalent to {@link
  201.41       * #createMBean(String,ObjectName,ObjectName,Object[],String[])
  201.42 @@ -198,11 +204,14 @@
  201.43       * MBean server will use its {@link
  201.44       * javax.management.loading.ClassLoaderRepository Default Loader
  201.45       * Repository} to load the class of the MBean.  An object name is
  201.46 -     * associated to the MBean.  If the object name given is null, the
  201.47 -     * MBean must provide its own name by implementing the {@link
  201.48 +     * associated with the MBean.  If the object name given is null, the
  201.49 +     * MBean must provide its own name in one or both of two ways: by implementing the {@link
  201.50       * javax.management.MBeanRegistration MBeanRegistration} interface
  201.51       * and returning the name from the {@link
  201.52 -     * MBeanRegistration#preRegister preRegister} method.
  201.53 +     * MBeanRegistration#preRegister preRegister} method; or by defining
  201.54 +     * an {@code objectNameTemplate} field in its {@link Descriptor},
  201.55 +     * typically using the {@link ObjectNameTemplate &#64;ObjectNameTemplate}
  201.56 +     * annotation.</p>
  201.57       *
  201.58       * @param className The class name of the MBean to be instantiated.
  201.59       * @param name The object name of the MBean. May be null.
  201.60 @@ -267,15 +276,18 @@
  201.61                     NotCompliantMBeanException, IOException;
  201.62  
  201.63      /**
  201.64 -     * Instantiates and registers an MBean in the MBean server.  The
  201.65 +     * <p>Instantiates and registers an MBean in the MBean server.  The
  201.66       * class loader to be used is identified by its object name. An
  201.67 -     * object name is associated to the MBean. If the object name of
  201.68 +     * object name is associated with the MBean. If the object name of
  201.69       * the loader is not specified, the ClassLoader that loaded the
  201.70 -     * MBean server will be used.  If the MBean object name given is
  201.71 -     * null, the MBean must provide its own name by implementing the
  201.72 -     * {@link javax.management.MBeanRegistration MBeanRegistration}
  201.73 -     * interface and returning the name from the {@link
  201.74 -     * MBeanRegistration#preRegister preRegister} method.
  201.75 +     * MBean server will be used.  If the object name given is null, the
  201.76 +     * MBean must provide its own name in one or both of two ways: by implementing the {@link
  201.77 +     * javax.management.MBeanRegistration MBeanRegistration} interface
  201.78 +     * and returning the name from the {@link
  201.79 +     * MBeanRegistration#preRegister preRegister} method; or by defining
  201.80 +     * an {@code objectNameTemplate} field in its {@link Descriptor},
  201.81 +     * typically using the {@link ObjectNameTemplate &#64;ObjectNameTemplate}
  201.82 +     * annotation.</p>
  201.83       *
  201.84       * @param className The class name of the MBean to be instantiated.
  201.85       * @param name The object name of the MBean. May be null.
  201.86 @@ -424,7 +436,17 @@
  201.87       * specified, all the MBeans registered will be retrieved.
  201.88       * @param query The query expression to be applied for selecting
  201.89       * MBeans. If null no query expression will be applied for
  201.90 -     * selecting MBeans.
  201.91 +     * selecting MBeans.  ObjectName patterns that may be contained in the
  201.92 +     * query expression will be
  201.93 +     * <a href="namespace/package-summary.html#NamespaceAndQueries"><!--
  201.94 +     * -->evaluated</a> in the context of the
  201.95 +     * {@link javax.management.namespace namespace}
  201.96 +     * in which the MBeans selected by {@code name} are registered.
  201.97 +     * Thus, in the {@code query} parameter, no ObjectName pattern containing a
  201.98 +     * namespace path can match any of the MBean names selected by {@code name}.
  201.99 +     * See the
 201.100 +     * <a href="namespace/package-summary.html#RejectedNamespacePatterns"><!--
 201.101 +     * -->namespaces documentation</a> for more details.
 201.102       *
 201.103       * @return A set containing the <CODE>ObjectInstance</CODE>
 201.104       * objects for the selected MBeans.  If no MBean satisfies the
 201.105 @@ -432,6 +454,11 @@
 201.106       *
 201.107       * @exception IOException A communication problem occurred when
 201.108       * talking to the MBean server.
 201.109 +     * @exception RuntimeOperationsException Wraps a
 201.110 +     * <CODE>java.lang.IllegalArgumentException</CODE>: The <em>name</em>
 201.111 +     * parameter contains an invalid pattern. See the
 201.112 +     * <a href="namespace/package-summary.html#RejectedNamespacePatterns"><!--
 201.113 +     * -->namespaces documentation</a> for more details.
 201.114       */
 201.115      public Set<ObjectInstance> queryMBeans(ObjectName name, QueryExp query)
 201.116              throws IOException;
 201.117 @@ -452,7 +479,17 @@
 201.118       * specified, the name of all registered MBeans will be retrieved.
 201.119       * @param query The query expression to be applied for selecting
 201.120       * MBeans. If null no query expression will be applied for
 201.121 -     * selecting MBeans.
 201.122 +     * selecting MBeans. ObjectName patterns that may be contained in the
 201.123 +     * query expression will be
 201.124 +     * <a href="namespace/package-summary.html#NamespaceAndQueries"><!--
 201.125 +     * -->evaluated</a> in the context of the
 201.126 +     * {@link javax.management.namespace namespace}
 201.127 +     * in which the MBeans slected by {@code name} are registered.
 201.128 +     * Thus, in the {@code query} parameter, no ObjectName pattern containing a
 201.129 +     * namespace path can match any of the MBean names selected by {@code name}.
 201.130 +     * See the
 201.131 +     * <a href="namespace/package-summary.html#RejectedNamespacePatterns"><!--
 201.132 +     * -->namespaces documentation</a> for more details.
 201.133       *
 201.134       * @return A set containing the ObjectNames for the MBeans
 201.135       * selected.  If no MBean satisfies the query, an empty list is
 201.136 @@ -460,6 +497,11 @@
 201.137       *
 201.138       * @exception IOException A communication problem occurred when
 201.139       * talking to the MBean server.
 201.140 +     * @exception RuntimeOperationsException Wraps a
 201.141 +     * <CODE>java.lang.IllegalArgumentException</CODE>: The <em>name</em>
 201.142 +     * parameter contains an invalid pattern. See the
 201.143 +     * <a href="namespace/package-summary.html#RejectedNamespacePatterns"><!--
 201.144 +     * -->namespaces documentation</a> for more details.
 201.145       */
 201.146      public Set<ObjectName> queryNames(ObjectName name, QueryExp query)
 201.147              throws IOException;
   202.1 --- a/src/share/classes/javax/management/MBeanServerNotification.java	Wed Jan 14 21:35:03 2009 -0800
   202.2 +++ b/src/share/classes/javax/management/MBeanServerNotification.java	Tue Jan 20 09:42:07 2009 -0800
   202.3 @@ -57,15 +57,55 @@
   202.4   *             what = "Unknown type " + n.getType();
   202.5   *         System.out.println("Received MBean Server notification: " + what + ": " +
   202.6   *                 mbsn.getMBeanName());
   202.7 + *     }
   202.8   * };
   202.9   *
  202.10   * ...
  202.11   *     mbeanServer.addNotificationListener(
  202.12   *             MBeanServerDelegate.DELEGATE_NAME, printListener, null, null);
  202.13   * </pre>
  202.14 - *
  202.15 - * <p>The following code prints a message every time an MBean is registered
  202.16 - * or unregistered in the MBean Server {@code mbeanServer}:</p>
  202.17 + * <p id="group">
  202.18 + * An MBean which is not an {@link MBeanServerDelegate} may also emit
  202.19 + * MBeanServerNotifications. In particular, a custom subclass of the
  202.20 + * {@link javax.management.namespace.JMXDomain JMXDomain} MBean or a custom
  202.21 + * subclass of the {@link javax.management.namespace.JMXNamespace JMXNamespace}
  202.22 + * MBean may emit an MBeanServerNotification for a group of MBeans.<br>
  202.23 + * An MBeanServerNotification emitted to denote the registration or
  202.24 + * unregistration of a group of MBeans has the following characteristics:
  202.25 + * <ul><li>Its {@linkplain Notification#getType() notification type} is
  202.26 + *     {@code "JMX.mbean.registered.group"} or
  202.27 + *     {@code "JMX.mbean.unregistered.group"}, which can also be written {@link
  202.28 + *     MBeanServerNotification#REGISTRATION_NOTIFICATION}{@code + ".group"} or
  202.29 + *     {@link
  202.30 + *     MBeanServerNotification#UNREGISTRATION_NOTIFICATION}{@code + ".group"}.
  202.31 + * </li>
  202.32 + * <li>Its {@linkplain #getMBeanName() MBean name} is an ObjectName pattern
  202.33 + *     that selects the set (or a superset) of the MBeans being registered
  202.34 + *     or unregistered</li>
  202.35 + * <li>Its {@linkplain Notification#getUserData() user data} can optionally
  202.36 + *     be set to an array of ObjectNames containing the names of all MBeans
  202.37 + *     being registered or unregistered.</li>
  202.38 + * </ul>
  202.39 + * </p>
  202.40 + * <p>
  202.41 + * MBeans which emit these group registration/unregistration notifications will
  202.42 + * declare them in their {@link MBeanInfo#getNotifications()
  202.43 + * MBeanNotificationInfo}.
  202.44 + * </p>
  202.45 + * <P>
  202.46 + * To receive a group MBeanServerNotification, you need to register a listener
  202.47 + * with the MBean that emits it. For instance, assuming that the {@link
  202.48 + * javax.management.namespace.JMXNamespace JMXNamespace} MBean handling
  202.49 + * namespace {@code "foo"} has declared that it emits such a notification,
  202.50 + * you will need to register your notification listener with that MBean, which
  202.51 + * will be named {@link
  202.52 + * javax.management.namespace.JMXNamespaces#getNamespaceObjectName(java.lang.String)
  202.53 + * foo//:type=JMXNamespace}.
  202.54 + * </p>
  202.55 + * <p>The following code prints a message every time a group of MBean is
  202.56 + * registered or unregistered in the namespace {@code "foo"}, assumimg its
  202.57 + * {@link javax.management.namespace.JMXNamespace handler} supports
  202.58 + * group MBeanServerNotifications:</p>
  202.59   *
  202.60   * <pre>
  202.61   * private static final NotificationListener printListener = new NotificationListener() {
  202.62 @@ -76,19 +116,33 @@
  202.63   *         }
  202.64   *         MBeanServerNotification mbsn = (MBeanServerNotification) n;
  202.65   *         String what;
  202.66 - *         if (n.getType().equals(MBeanServerNotification.REGISTRATION_NOTIFICATION))
  202.67 + *         ObjectName[] names = null;
  202.68 + *         if (n.getType().equals(MBeanServerNotification.REGISTRATION_NOTIFICATION)) {
  202.69   *             what = "MBean registered";
  202.70 - *         else if (n.getType().equals(MBeanServerNotification.UNREGISTRATION_NOTIFICATION))
  202.71 + *         } else if (n.getType().equals(MBeanServerNotification.UNREGISTRATION_NOTIFICATION)) {
  202.72   *             what = "MBean unregistered";
  202.73 - *         else
  202.74 + *         } else if (n.getType().equals(MBeanServerNotification.REGISTRATION_NOTIFICATION+".group")) {
  202.75 + *             what = "Group of MBeans registered matching";
  202.76 + *             if (mbsn.getUserData() instanceof ObjectName[])
  202.77 + *                names =  (ObjectName[]) mbsn.getUserData();
  202.78 + *         } else if (n.getType().equals(MBeanServerNotification.UNREGISTRATION_NOTIFICATION+".group")) {
  202.79 + *             what = "Group of MBeans unregistered matching";
  202.80 + *             if (mbsn.getUserData() instanceof ObjectName[])
  202.81 + *                names = (ObjectName[]) mbsn.getUserData();
  202.82 + *         } else
  202.83   *             what = "Unknown type " + n.getType();
  202.84   *         System.out.println("Received MBean Server notification: " + what + ": " +
  202.85   *                 mbsn.getMBeanName());
  202.86 + *         if (names != null) {
  202.87 + *              for (ObjectName mb : names)
  202.88 + *                  System.out.println("\t"+mb);
  202.89 + *         }
  202.90 + *     }
  202.91   * };
  202.92   *
  202.93   * ...
  202.94   *     mbeanServer.addNotificationListener(
  202.95 - *             MBeanServerDelegate.DELEGATE_NAME, printListener, null, null);
  202.96 + *             JMXNamespaces.getNamespaceObjectName("foo"), printListener, null, null);
  202.97   * </pre>
  202.98   *
  202.99   * @since 1.5
   203.1 --- a/src/share/classes/javax/management/NotificationBroadcasterSupport.java	Wed Jan 14 21:35:03 2009 -0800
   203.2 +++ b/src/share/classes/javax/management/NotificationBroadcasterSupport.java	Tue Jan 20 09:42:07 2009 -0800
   203.3 @@ -249,6 +249,26 @@
   203.4              }
   203.5          }
   203.6      }
   203.7 +    /**
   203.8 +     * Returns true if there are any listeners.
   203.9 +     *
  203.10 +     * @return true if there is at least one listener that has been added with
  203.11 +     * {@code addNotificationListener} and not subsequently removed with
  203.12 +     * {@code removeNotificationListener} or {@code removeAllNotificationListeners}.
  203.13 +     * @since 1.7
  203.14 +     */
  203.15 +    public boolean isListenedTo() {
  203.16 +        return listenerList.size() > 0;
  203.17 +    }
  203.18 +
  203.19 +    /**
  203.20 +     * Removes all listeners.
  203.21 +     *
  203.22 +     * @since 1.7
  203.23 +     */
  203.24 +    public void removeAllNotificationListeners() {
  203.25 +        listenerList.clear();
  203.26 +    }
  203.27  
  203.28      /**
  203.29       * <p>This method is called by {@link #sendNotification
   204.1 --- a/src/share/classes/javax/management/NotificationInfo.java	Wed Jan 14 21:35:03 2009 -0800
   204.2 +++ b/src/share/classes/javax/management/NotificationInfo.java	Tue Jan 20 09:42:07 2009 -0800
   204.3 @@ -44,7 +44,13 @@
   204.4   *                          "com.example.notifs.destroy"})
   204.5   * public interface CacheMBean {...}
   204.6   *
   204.7 - * public class Cache implements CacheMBean {...}
   204.8 + * public class Cache
   204.9 + *         extends NotificationBroadcasterSupport implements CacheMBean {
  204.10 + *     public Cache() {
  204.11 + *         super();   // do not supply any MBeanNotificationInfo[]
  204.12 + *     }
  204.13 + *     ...
  204.14 + * }
  204.15   * </pre>
  204.16   *
  204.17   * <pre>
  204.18 @@ -52,7 +58,11 @@
  204.19   * {@link MBean @MBean}
  204.20   * {@code @NotificationInfo}(types={"com.example.notifs.create",
  204.21   *                          "com.example.notifs.destroy"})
  204.22 - * public class Cache {...}
  204.23 + * public class Cache {
  204.24 + *     <a href="MBeanRegistration.html#injection">{@code @Resource}</a>
  204.25 + *     private volatile SendNotification sendNotification;
  204.26 + *     ...
  204.27 + * }
  204.28   * </pre>
  204.29   *
  204.30   * <p>Each {@code @NotificationInfo} produces an {@link
  204.31 @@ -64,6 +74,13 @@
  204.32   * several {@code @NotificationInfo} annotations into a containing
  204.33   * {@link NotificationInfos @NotificationInfos} annotation.
  204.34   *
  204.35 + * <p>The {@code @NotificationInfo} and {@code @NotificationInfos} annotations
  204.36 + * are ignored on an MBean that is not a {@linkplain JMX#isNotificationSource
  204.37 + * notification source} or that implements {@link NotificationBroadcaster} and
  204.38 + * returns a non-empty array from its {@link
  204.39 + * NotificationBroadcaster#getNotificationInfo() getNotificationInfo()}
  204.40 + * method.</p>
  204.41 + *
  204.42   * <p>The {@code NotificationInfo} and {@code NotificationInfos}
  204.43   * annotations can be applied to the MBean implementation class, or to
  204.44   * any parent class or interface.  These annotations on a class take
  204.45 @@ -71,7 +88,8 @@
  204.46   * If an MBean does not have these annotations on its class or any
  204.47   * superclass, then superinterfaces are examined.  It is an error for
  204.48   * more than one superinterface to have these annotations, unless one
  204.49 - * of them is a child of all the others.</p>
  204.50 + * of them is a descendant of all the others; registering such an erroneous
  204.51 + * MBean will cause a {@link NotCompliantMBeanException}.</p>
  204.52   */
  204.53  @Documented
  204.54  @Inherited
   205.1 --- a/src/share/classes/javax/management/ObjectName.java	Wed Jan 14 21:35:03 2009 -0800
   205.2 +++ b/src/share/classes/javax/management/ObjectName.java	Tue Jan 20 09:42:07 2009 -0800
   205.3 @@ -56,14 +56,38 @@
   205.4   * properties.</p>
   205.5   *
   205.6   * <p>The <em>domain</em> is a string of characters not including
   205.7 - * the character colon (<code>:</code>).  It is recommended that the domain
   205.8 - * should not contain the string "{@code //}", which is reserved for future use.
   205.9 + * the character colon (<code>:</code>).</p>
  205.10 + * <p>Starting with the version 2.0 of the JMX specification, the
  205.11 + * <em>domain</em> can also start with a {@linkplain
  205.12 + * javax.management.namespace#NamespacePrefix namespace prefix} identifying
  205.13 + * the {@linkplain javax.management.namespace namespace} in which the
  205.14 + * MBean is registered. A namespace prefix is a path string where
  205.15 + * elements are separated by a double slash (<code>//</code>).
  205.16 + * It identifies the {@linkplain  javax.management.namespace namespace} in
  205.17 + * which the MBean so named is registered.</p>
  205.18 + *
  205.19 + * <p>For instance the ObjectName <em>bar//baz:k=v</em> identifiies an MBean
  205.20 + * named <em>baz:k=v</em> in the namespace <em>bar</em>. Similarly the
  205.21 + * ObjectName <em>foo//bar//baz:k=v</em> identifiies an MBean named
  205.22 + * <em>baz:k=v</em> in the namespace <em>foo//bar</em>. See the {@linkplain
  205.23 + * javax.management.namespace namespace} documentation for more details.</p>
  205.24   *
  205.25   * <p>If the domain includes at least one occurrence of the wildcard
  205.26   * characters asterisk (<code>*</code>) or question mark
  205.27   * (<code>?</code>), then the object name is a pattern.  The asterisk
  205.28   * matches any sequence of zero or more characters, while the question
  205.29 - * mark matches any single character.</p>
  205.30 + * mark matches any single character. <br>
  205.31 + * A namespace separator <code>//</code> does not match wildcard
  205.32 + * characters unless it is at the very end of the domain string.
  205.33 + * So <em>foo*bar*:*</em> does not match <em>foo//bar:k=v</em> but it
  205.34 + * does match <em>fooxbar//:k=v</em>.
  205.35 + * </p>
  205.36 + *
  205.37 + * <p>When included in a namespace path the special path element
  205.38 + * <code>**</code> matches any number of sub namespaces
  205.39 + * recursively, but only if used as a complete namespace path element,
  205.40 + * as in <code>*&#42;//b//c//D:k=v</code> or <code>a//*&#42;//c//D:k=v</code>
  205.41 + * - see <a href="#metawildcard">below</a>.
  205.42   *
  205.43   * <p>If the domain is empty, it will be replaced in certain contexts
  205.44   * by the <em>default domain</em> of the MBean server in which the
  205.45 @@ -171,6 +195,51 @@
  205.46   *     with {@code \}.</li>
  205.47   * </ul>
  205.48   *
  205.49 + * <p id="metawildcard"><b>Pattern and namespaces:</b></p>
  205.50 + * <p>In an object name pattern, a path element
  205.51 + *    of exactly <code>**</code> corresponds to a meta
  205.52 + *    wildcard that will match any number of sub namespaces.<br>Hence:</p>
  205.53 + * <table border="0" cellpadding="5">
  205.54 + * <thead><th>pattern</th><th>matches</th><th>doesn't match</th></thead>
  205.55 + * <tbody>
  205.56 + * <tr><td><ul><li><code>*&#42;//D:k=v</code></li></ul></td>
  205.57 + *     <td><code>a//D:k=v</code><br>
  205.58 + *         <code>a//b//D:k=v</code><br>
  205.59 + *         <code>a//b//c//D:k=v</code></td>
  205.60 + *     <td><code>D:k=v</code></td></tr>
  205.61 + * <tr><td><ul><li><code>a//*&#42;//D:k=v</code></li></ul></td>
  205.62 + *     <td><code>a//b//D:k=v</code><br>
  205.63 + *         <code>a//b//c//D:k=v</code></td>
  205.64 + *     <td><code>b//b//c//D:k=v</code><br>
  205.65 + *         <code>a//D:k=v</code><br>
  205.66 + *         <code>D:k=v</code></td></tr>
  205.67 + * <tr><td><ul><li><code>a//*&#42;//e//D:k=v</code></li></ul></td>
  205.68 + *     <td><code>a//b//e//D:k=v</code><br>
  205.69 + *         <code>a//b//c//e//D:k=v</code></td>
  205.70 + *     <td><code>a//b//c//c//D:k=v</code><br>
  205.71 + *         <code>b//b//c//e//D:k=v</code><br>
  205.72 + *         <code>a//e//D:k=v</code><br>
  205.73 + *         <code>e//D:k=v</code></td></tr>
  205.74 + * <tr><td><ul><li><code>a//b*&#42;//e//D:k=v</code></li></ul></td>
  205.75 + *      <td><code>a//b//e//D:k=v</code></td>
  205.76 + *      <td><code>a//b//c//e//D:k=v</code><br>
  205.77 + *          because in that case <code>b*&#42;</code><br>
  205.78 + *         is not a meta-wildcard - and <code>b**</code><br>
  205.79 + *         is thus equivalent to <code>b*</code>.</td></tr>
  205.80 + * </tbody>
  205.81 + * </table>
  205.82 + *</ul>
  205.83 + * </p>
  205.84 + * <p>
  205.85 + * <b>Note:</b> Although ObjectName patterns where the characters
  205.86 + * <code>*</code> and <code>?</code> appear in the namespace path are legal,
  205.87 + * they are not valid in the {@code name} parameter of the MBean Server's
  205.88 + * {@link MBeanServer#queryNames queryNames} and {@link MBeanServer#queryMBeans
  205.89 + * queryMBeans} methods. See the
  205.90 + * <a href="namespace/package-summary.html#RejectedNamespacePatterns"><!--
  205.91 + * -->namespaces documentation</a> for more details.
  205.92 + * </p>
  205.93 + *
  205.94   * <p>An ObjectName can be written as a String with the following
  205.95   * elements in order:</p>
  205.96   *
  205.97 @@ -439,11 +508,6 @@
  205.98          _propertyList = aname._propertyList;
  205.99          _property_list_pattern = aname._property_list_pattern;
 205.100          _property_value_pattern = aname._property_value_pattern;
 205.101 -        // TODO remove this hack
 205.102 -        // if (toString().endsWith("//javax.management.service:type1=event_client_delegeate_mbean,type2=default")) {
 205.103 -        //    Thread.currentThread().dumpStack();
 205.104 -        //    throw new Error("************************ Gotcha!");
 205.105 -        //}
 205.106      }
 205.107  
 205.108      // Instance private fields <=======================================
 205.109 @@ -1096,11 +1160,10 @@
 205.110       */
 205.111      private boolean isDomain(String domain) {
 205.112          if (domain == null) return true;
 205.113 -        final char[] d=domain.toCharArray();
 205.114 -        final int len = d.length;
 205.115 +        final int len = domain.length();
 205.116          int next = 0;
 205.117          while (next < len) {
 205.118 -            final char c = d[next++];
 205.119 +            final char c = domain.charAt(next++);
 205.120              switch (c) {
 205.121                  case ':' :
 205.122                  case '\n' :
 205.123 @@ -1234,12 +1297,6 @@
 205.124          if (!nw.equals("")) {
 205.125              nameString = nw + NAMESPACE_SEPARATOR + nameString;
 205.126          }
 205.127 -        // TODO remove this hack
 205.128 -        // if (nameString.endsWith("//javax.management.service:type1=event_client_delegeate_mbean,type2=default")) {
 205.129 -        //    System.err.println("old="+old+", nw="+nw);
 205.130 -        //    Thread.currentThread().dumpStack();
 205.131 -        //    throw new Error("************************ Gotcha!");
 205.132 -        // }
 205.133          return nameString;
 205.134      }
 205.135  
 205.136 @@ -1584,13 +1641,18 @@
 205.137       * @return A new {@code ObjectName} that is the same as {@code this}
 205.138       *         except the domain is {@code newDomain}.
 205.139       * @throws NullPointerException if {@code newDomain} is null.
 205.140 -     * @throws MalformedObjectNameException if the new domain is syntactically
 205.141 -     *         illegal.
 205.142 +     * @exception IllegalArgumentException The {@code newDomain} passed as a
 205.143 +     * parameter does not have the right format.  The {@linkplain
 205.144 +     * Throwable#getCause() cause} of this exception will be a
 205.145 +     * {@link MalformedObjectNameException}.
 205.146       * @since 1.7
 205.147       **/
 205.148 -    public final ObjectName withDomain(String newDomain)
 205.149 -            throws MalformedObjectNameException {
 205.150 -        return new ObjectName(newDomain, this);
 205.151 +    public final ObjectName withDomain(String newDomain) {
 205.152 +        try {
 205.153 +            return new ObjectName(newDomain, this);
 205.154 +        } catch (MalformedObjectNameException x) {
 205.155 +            throw new IllegalArgumentException(x.getMessage(),x);
 205.156 +        }
 205.157      }
 205.158  
 205.159      /**
   206.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   206.2 +++ b/src/share/classes/javax/management/ObjectNameTemplate.java	Tue Jan 20 09:42:07 2009 -0800
   206.3 @@ -0,0 +1,131 @@
   206.4 +/*
   206.5 + * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
   206.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   206.7 + *
   206.8 + * This code is free software; you can redistribute it and/or modify it
   206.9 + * under the terms of the GNU General Public License version 2 only, as
  206.10 + * published by the Free Software Foundation.  Sun designates this
  206.11 + * particular file as subject to the "Classpath" exception as provided
  206.12 + * by Sun in the LICENSE file that accompanied this code.
  206.13 + *
  206.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
  206.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  206.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  206.17 + * version 2 for more details (a copy is included in the LICENSE file that
  206.18 + * accompanied this code).
  206.19 + *
  206.20 + * You should have received a copy of the GNU General Public License version
  206.21 + * 2 along with this work; if not, write to the Free Software Foundation,
  206.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  206.23 + *
  206.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  206.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
  206.26 + * have any questions.
  206.27 + */
  206.28 +package javax.management;
  206.29 +
  206.30 +import java.lang.annotation.Documented;
  206.31 +import java.lang.annotation.ElementType;
  206.32 +import java.lang.annotation.Retention;
  206.33 +import java.lang.annotation.RetentionPolicy;
  206.34 +import java.lang.annotation.Target;
  206.35 +
  206.36 +/**
  206.37 + * Annotation to allow an MBean to provide its name.
  206.38 + * This annotation can be used on the following types:
  206.39 + * <ul>
  206.40 + *   <li>MBean or MXBean Java interface.</li>
  206.41 + *   <li>Java class annotated with {@link javax.management.MBean &#64;MBean}</code>
  206.42 + * annotation.</li>
  206.43 + *   <li>Java class annotated with {@link javax.management.MXBean &#64;MXBean}</code>
  206.44 + * annotation.</li>
  206.45 + * </ul>
  206.46 + *
  206.47 + * <p>The value of this annotation is used to build the <code>ObjectName</code>
  206.48 + * when instances of the annotated type are registered in
  206.49 + * an <code>MBeanServer</code> and no explicit name is given to the
  206.50 + * {@code createMBean} or {@code registerMBean} method (the {@code ObjectName}
  206.51 + * is {@code null}).</p>
  206.52 + *
  206.53 + * <p>For Dynamic MBeans, which define their own {@code MBeanInfo}, you can
  206.54 + * produce the same effect as this annotation by including a field
  206.55 + * <a href="Descriptor.html#objectNameTemplate">{@code objectNameTemplate}</a>
  206.56 + * in the {@link Descriptor} for the {@code MBeanInfo} returned by
  206.57 + * {@link DynamicMBean#getMBeanInfo()}.</p>
  206.58 + *
  206.59 + * <p>For Standard MBeans and MXBeans, this annotation automatically produces
  206.60 + * an {@code objectNameTemplate} field in the {@code Descriptor}.</p>
  206.61 + *
  206.62 + * <p>The template can contain variables so that the name of the MBean
  206.63 + * depends on the value of one or more of its attributes.
  206.64 + * A variable that identifies an MBean attribute is of the form
  206.65 + * <code>{<em>attribute name</em>}</code>. For example, to make an MBean name
  206.66 + * depend on the <code>Name</code> attribute, use the variable
  206.67 + * <code>{Name}</code>. Attribute names are case sensitive.
  206.68 + * Naming attributes can be of any type. The <code>String</code> returned by
  206.69 + * <code>toString()</code> is included in the constructed name.</p>
  206.70 + *
  206.71 + * <p>If you need the attribute value to be quoted
  206.72 + * by a call to {@link ObjectName#quote(String) ObjectName.quote},
  206.73 + * surround the variable with quotes. Quoting only applies to key values.
  206.74 + * For example, <code>@ObjectNameTemplate("java.lang:type=MemoryPool,name=\"{Name}\"")</code>,
  206.75 + * quotes the <code>Name</code> attribute value. You can notice the "\"
  206.76 + * character needed to escape a quote within a <code>String</code>. A name
  206.77 + * produced by this template might look like
  206.78 + * {@code java.lang:type=MemoryPool,name="Code Cache"}.</p>
  206.79 + *
  206.80 + * <p>Variables can be used anywhere in the <code>String</code>.
  206.81 + * Be sure to make the template derived name comply with
  206.82 + * {@link ObjectName ObjectName} syntax.</p>
  206.83 + *
  206.84 + * <p>If an MBean is registered with a null name and it implements
  206.85 + * {@link javax.management.MBeanRegistration MBeanRegistration}, then
  206.86 + * the computed name is provided to the <code>preRegister</code> method.
  206.87 + * Similarly,
  206.88 + * if the MBean uses <a href="MBeanRegistration.html#injection">resource
  206.89 + * injection</a> to discover its name, it is the computed name that will
  206.90 + * be injected.</p>
  206.91 + * <p>All of the above can be used with the {@link StandardMBean} class and
  206.92 + * the annotation is effective in that case too.</p>
  206.93 + * <p>If any exception occurs (such as unknown attribute, invalid syntax or
  206.94 + * exception
  206.95 + * thrown by the MBean) when the name is computed it is wrapped in a
  206.96 + * <code>NotCompliantMBeanException</code>.</p>
  206.97 + * <p>Some ObjectName template examples:
  206.98 + * <ul><li>"com.example:type=Memory". Fixed ObjectName. Used to name a
  206.99 + * singleton MBean.</li>
 206.100 + * <li>"com.example:type=MemoryPool,name={Name}". Variable ObjectName.
 206.101 + * <code>Name</code> attribute is retrieved to compose the <code>name</code>
 206.102 + * key value.</li>
 206.103 + * <li>"com.example:type=SomeType,name={InstanceName},id={InstanceId}".
 206.104 + * Variable ObjectName.
 206.105 + * <code>InstanceName</code> and <code>InstanceId</code> attributes are
 206.106 + * retrieved to compose respectively
 206.107 + * the <code>name</code> and <code>id</code> key values.</li>
 206.108 + * <li>"com.example:type=OtherType,name=\"{ComplexName}\"". Variable ObjectName.
 206.109 + * <code>ComplexName</code> attribute is retrieved to compose the
 206.110 + * <code>name</code> key quoted value.</li> </li>
 206.111 + * <li>"com.example:{TypeKey}=SomeOtherType". Variable ObjectName.
 206.112 + * <code>TypeKey</code> attribute is retrieved to compose the
 206.113 + * first key name.</li>
 206.114 + * * <li>"{Domain}:type=YetAnotherType". Variable ObjectName.
 206.115 + * <code>Domain</code> attribute is retrieved to compose the
 206.116 + * management domain.</li>
 206.117 + * <li>"{Naming}". Variable ObjectName.
 206.118 + * <code>Naming</code> attribute is retrieved to compose the
 206.119 + * complete name.</li>
 206.120 + * </ul>
 206.121 + * </p>
 206.122 + */
 206.123 +@Documented
 206.124 +@Retention(RetentionPolicy.RUNTIME)
 206.125 +@Target(ElementType.TYPE)
 206.126 +public @interface ObjectNameTemplate {
 206.127 +
 206.128 +    /**
 206.129 +     * The MBean name template.
 206.130 +     * @return The MBean name template.
 206.131 +     */
 206.132 +    @DescriptorKey("objectNameTemplate")
 206.133 +    public String value();
 206.134 +}
   207.1 --- a/src/share/classes/javax/management/StandardMBean.java	Wed Jan 14 21:35:03 2009 -0800
   207.2 +++ b/src/share/classes/javax/management/StandardMBean.java	Tue Jan 20 09:42:07 2009 -0800
   207.3 @@ -28,14 +28,21 @@
   207.4  import com.sun.jmx.mbeanserver.DescriptorCache;
   207.5  import com.sun.jmx.mbeanserver.Introspector;
   207.6  import com.sun.jmx.mbeanserver.MBeanInjector;
   207.7 +import com.sun.jmx.mbeanserver.MBeanInstantiator;
   207.8 +import com.sun.jmx.mbeanserver.MBeanIntrospector;
   207.9  import com.sun.jmx.mbeanserver.MBeanSupport;
  207.10  import com.sun.jmx.mbeanserver.MXBeanSupport;
  207.11  import com.sun.jmx.mbeanserver.StandardMBeanSupport;
  207.12  import com.sun.jmx.mbeanserver.Util;
  207.13 +import java.lang.reflect.Method;
  207.14  import java.security.AccessController;
  207.15  import java.security.PrivilegedAction;
  207.16 +import java.util.ArrayList;
  207.17  import java.util.HashMap;
  207.18 +import java.util.HashSet;
  207.19 +import java.util.List;
  207.20  import java.util.Map;
  207.21 +import java.util.Set;
  207.22  import java.util.WeakHashMap;
  207.23  import java.util.logging.Level;
  207.24  import javax.management.openmbean.MXBeanMappingFactory;
  207.25 @@ -135,6 +142,7 @@
  207.26          private static final long serialVersionUID = 5107355471177517164L;
  207.27  
  207.28          private boolean wrappedVisible;
  207.29 +        private boolean forwardRegistration;
  207.30  
  207.31          /**
  207.32           * <p>Construct an {@code Options} object where all options have
  207.33 @@ -177,15 +185,56 @@
  207.34              this.wrappedVisible = visible;
  207.35          }
  207.36  
  207.37 -        // Canonical objects for each of (MXBean,!MXBean) x (WVisible,!WVisible)
  207.38 +        /**
  207.39 +         * <p>Defines whether the {@link MBeanRegistration MBeanRegistration}
  207.40 +         * callbacks are forwarded to the wrapped object.</p>
  207.41 +         *
  207.42 +         * <p>If this option is true, then
  207.43 +         * {@link #preRegister(MBeanServer, ObjectName) preRegister},
  207.44 +         * {@link #postRegister(Boolean) postRegister},
  207.45 +         * {@link #preDeregister preDeregister} and
  207.46 +         * {@link #postDeregister postDeregister} methods are forwarded
  207.47 +         * to the wrapped object, in addition to the behaviour specified
  207.48 +         * for the StandardMBean instance itself.
  207.49 +         * The default value is false for compatibility reasons, but true
  207.50 +         * is a better value for most new code.</p>
  207.51 +         *
  207.52 +         * @return true if the <code>MBeanRegistration</code> callbacks
  207.53 +         * are forwarded to the wrapped object.
  207.54 +         */
  207.55 +        public boolean isMBeanRegistrationForwarded() {
  207.56 +            return this.forwardRegistration;
  207.57 +        }
  207.58 +
  207.59 +        /**
  207.60 +         * <p>Set the
  207.61 +         * {@link #isMBeanRegistrationForwarded MBeanRegistrationForwarded}
  207.62 +         * option to the given value.</p>
  207.63 +         * @param forward the new value.
  207.64 +         */
  207.65 +        public void setMBeanRegistrationForwarded(boolean forward) {
  207.66 +            this.forwardRegistration = forward;
  207.67 +        }
  207.68 +
  207.69 +        // Canonical objects for each of
  207.70 +        // (MXBean,!MXBean) x (WVisible,!WVisible) x (Forward,!Forward)
  207.71          private static final Options[] CANONICALS = {
  207.72              new Options(), new Options(), new Options(), new Options(),
  207.73 +            new Options(), new Options(), new Options(), new Options(),
  207.74          };
  207.75          static {
  207.76              CANONICALS[1].setMXBeanMappingFactory(MXBeanMappingFactory.DEFAULT);
  207.77              CANONICALS[2].setWrappedObjectVisible(true);
  207.78              CANONICALS[3].setMXBeanMappingFactory(MXBeanMappingFactory.DEFAULT);
  207.79              CANONICALS[3].setWrappedObjectVisible(true);
  207.80 +            CANONICALS[4].setMBeanRegistrationForwarded(true);
  207.81 +            CANONICALS[5].setMXBeanMappingFactory(MXBeanMappingFactory.DEFAULT);
  207.82 +            CANONICALS[5].setMBeanRegistrationForwarded(true);
  207.83 +            CANONICALS[6].setWrappedObjectVisible(true);
  207.84 +            CANONICALS[6].setMBeanRegistrationForwarded(true);
  207.85 +            CANONICALS[7].setMXBeanMappingFactory(MXBeanMappingFactory.DEFAULT);
  207.86 +            CANONICALS[7].setWrappedObjectVisible(true);
  207.87 +            CANONICALS[7].setMBeanRegistrationForwarded(true);
  207.88          }
  207.89          @Override
  207.90          MBeanOptions[] canonicals() {
  207.91 @@ -195,7 +244,8 @@
  207.92          @Override
  207.93          boolean same(MBeanOptions opts) {
  207.94              return (super.same(opts) && opts instanceof Options &&
  207.95 -                    ((Options) opts).wrappedVisible == wrappedVisible);
  207.96 +                    ((Options) opts).wrappedVisible == wrappedVisible &&
  207.97 +                    ((Options) opts).forwardRegistration ==forwardRegistration);
  207.98          }
  207.99      }
 207.100  
 207.101 @@ -477,7 +527,9 @@
 207.102       *
 207.103       * @exception IllegalArgumentException if the given
 207.104       * <var>implementation</var> is null.
 207.105 -     *
 207.106 +     * @exception IllegalStateException if the
 207.107 +     * {@link Options#isMBeanRegistrationForwarded MBeanRegistrationForwarded}
 207.108 +     * option is true.
 207.109       * @exception NotCompliantMBeanException if the given
 207.110       * <var>implementation</var> does not implement the
 207.111       * Standard MBean (or MXBean) interface that was
 207.112 @@ -490,6 +542,12 @@
 207.113  
 207.114          if (implementation == null)
 207.115              throw new IllegalArgumentException("implementation is null");
 207.116 +
 207.117 +        if(options instanceof Options &&
 207.118 +                ((Options) options).isMBeanRegistrationForwarded())
 207.119 +           throw new IllegalStateException("Implementation can't be changed " +
 207.120 +                   "because MBeanRegistrationForwarded option is true");
 207.121 +
 207.122          setImplementation2(implementation);
 207.123      }
 207.124  
 207.125 @@ -1265,6 +1323,145 @@
 207.126          return natts;
 207.127      }
 207.128  
 207.129 +    // ------------------------------------------------------------------
 207.130 +    // Resolve from a type name to a Class.
 207.131 +    // ------------------------------------------------------------------
 207.132 +    private static Class<?> resolveClass(MBeanFeatureInfo info, String type,
 207.133 +            Class<?> mbeanItf)
 207.134 +            throws ClassNotFoundException {
 207.135 +        String t = (String) info.getDescriptor().
 207.136 +                getFieldValue(JMX.ORIGINAL_TYPE_FIELD);
 207.137 +        if (t == null) {
 207.138 +            t = type;
 207.139 +        }
 207.140 +        Class<?> clazz = MBeanInstantiator.primitiveType(t);
 207.141 +        if(clazz == null)
 207.142 +            clazz = Class.forName(t, false, mbeanItf.getClassLoader());
 207.143 +        return clazz;
 207.144 +    }
 207.145 +
 207.146 +    // ------------------------------------------------------------------
 207.147 +    // Return the subset of valid Management methods
 207.148 +    // ------------------------------------------------------------------
 207.149 +    private static Method getManagementMethod(final Class<?> mbeanType,
 207.150 +            String opName, Class<?>... parameters) throws NoSuchMethodException,
 207.151 +            SecurityException {
 207.152 +        Method m = mbeanType.getMethod(opName, parameters);
 207.153 +        if (mbeanType.isInterface()) {
 207.154 +            return m;
 207.155 +        }
 207.156 +        final List<Method> methods = new ArrayList<Method>();
 207.157 +        try {
 207.158 +            MBeanIntrospector.getAnnotatedMethods(mbeanType, methods);
 207.159 +        }catch (SecurityException ex) {
 207.160 +            throw ex;
 207.161 +        }catch (NoSuchMethodException ex) {
 207.162 +            throw ex;
 207.163 +        }catch (Exception ex) {
 207.164 +            NoSuchMethodException nsme =
 207.165 +                    new NoSuchMethodException(ex.toString());
 207.166 +            nsme.initCause(ex);
 207.167 +            throw nsme;
 207.168 +        }
 207.169 +
 207.170 +        if(methods.contains(m)) return m;
 207.171 +
 207.172 +        throw new NoSuchMethodException("Operation " + opName +
 207.173 +                " not found in management interface " + mbeanType.getName());
 207.174 +    }
 207.175 +    /**
 207.176 +     * Retrieve the set of MBean attribute accessor <code>Method</code>s
 207.177 +     * located in the <code>mbeanInterface</code> MBean interface that
 207.178 +     * correspond to the <code>attr</code> <code>MBeanAttributeInfo</code>
 207.179 +     * parameter.
 207.180 +     * @param mbeanInterface the management interface.
 207.181 +     * Can be a standard MBean or MXBean interface, or a Java class
 207.182 +     * annotated with {@link MBean &#64;MBean} or {@link MXBean &#64;MXBean}.
 207.183 +     * @param attr The attribute we want the accessors for.
 207.184 +     * @return The set of accessors.
 207.185 +     * @throws java.lang.NoSuchMethodException if no accessor exists
 207.186 +     * for the given {@link MBeanAttributeInfo MBeanAttributeInfo}.
 207.187 +     * @throws java.lang.IllegalArgumentException if at least one
 207.188 +     * of the two parameters is null.
 207.189 +     * @throws java.lang.ClassNotFoundException if the class named in the
 207.190 +     * attribute type is not found.
 207.191 +     * @throws java.lang.SecurityException if this exception is
 207.192 +     * encountered while introspecting the MBean interface.
 207.193 +     */
 207.194 +    public static Set<Method> findAttributeAccessors(Class<?> mbeanInterface,
 207.195 +            MBeanAttributeInfo attr)
 207.196 +            throws NoSuchMethodException,
 207.197 +            ClassNotFoundException {
 207.198 +        if (mbeanInterface == null || attr == null) {
 207.199 +            throw new IllegalArgumentException("mbeanInterface or attr " +
 207.200 +                    "parameter is null");
 207.201 +        }
 207.202 +        String attributeName = attr.getName();
 207.203 +        Set<Method> methods = new HashSet<Method>();
 207.204 +        Class<?> clazz = resolveClass(attr, attr.getType(), mbeanInterface);
 207.205 +        if (attr.isReadable()) {
 207.206 +            String radical = "get";
 207.207 +            if(attr.isIs()) radical = "is";
 207.208 +            Method getter = getManagementMethod(mbeanInterface, radical +
 207.209 +                    attributeName);
 207.210 +            if (getter.getReturnType().equals(clazz)) {
 207.211 +                methods.add(getter);
 207.212 +            } else {
 207.213 +                throw new NoSuchMethodException("Invalid getter return type, " +
 207.214 +                        "should be " + clazz + ", found " +
 207.215 +                        getter.getReturnType());
 207.216 +            }
 207.217 +        }
 207.218 +        if (attr.isWritable()) {
 207.219 +            Method setter = getManagementMethod(mbeanInterface, "set" +
 207.220 +                    attributeName,
 207.221 +                    clazz);
 207.222 +            if (setter.getReturnType().equals(Void.TYPE)) {
 207.223 +                methods.add(setter);
 207.224 +            } else {
 207.225 +                throw new NoSuchMethodException("Invalid setter return type, " +
 207.226 +                        "should be void, found " + setter.getReturnType());
 207.227 +            }
 207.228 +        }
 207.229 +        return methods;
 207.230 +    }
 207.231 +
 207.232 +    /**
 207.233 +     * Retrieve the MBean operation <code>Method</code>
 207.234 +     * located in the <code>mbeanInterface</code> MBean interface that
 207.235 +     * corresponds to the provided <code>op</code>
 207.236 +     * <code>MBeanOperationInfo</code> parameter.
 207.237 +     * @param mbeanInterface the management interface.
 207.238 +     * Can be a standard MBean or MXBean interface, or a Java class
 207.239 +     * annotated with {@link MBean &#64;MBean} or {@link MXBean &#64;MXBean}.
 207.240 +     * @param op The operation we want the method for.
 207.241 +     * @return the method corresponding to the provided MBeanOperationInfo.
 207.242 +     * @throws java.lang.NoSuchMethodException if no method exists
 207.243 +     * for the given {@link MBeanOperationInfo MBeanOperationInfo}.
 207.244 +     * @throws java.lang.IllegalArgumentException if at least one
 207.245 +     * of the two parameters is null.
 207.246 +     * @throws java.lang.ClassNotFoundException if one of the
 207.247 +     * classes named in the operation signature array is not found.
 207.248 +     * @throws java.lang.SecurityException if this exception is
 207.249 +     * encountered while introspecting the MBean interface.
 207.250 +     */
 207.251 +    public static Method findOperationMethod(Class<?> mbeanInterface,
 207.252 +            MBeanOperationInfo op)
 207.253 +            throws ClassNotFoundException, NoSuchMethodException {
 207.254 +        if (mbeanInterface == null || op == null) {
 207.255 +            throw new IllegalArgumentException("mbeanInterface or op " +
 207.256 +                    "parameter is null");
 207.257 +        }
 207.258 +        List<Class<?>> classes = new ArrayList<Class<?>>();
 207.259 +        for (MBeanParameterInfo info : op.getSignature()) {
 207.260 +            Class<?> clazz = resolveClass(info, info.getType(), mbeanInterface);
 207.261 +            classes.add(clazz);
 207.262 +        }
 207.263 +        Class<?>[] signature = new Class<?>[classes.size()];
 207.264 +        classes.toArray(signature);
 207.265 +        return getManagementMethod(mbeanInterface, op.getName(), signature);
 207.266 +    }
 207.267 +
 207.268      /**
 207.269       * <p>Allows the MBean to perform any operations it needs before
 207.270       * being registered in the MBean server.  If the name of the MBean
 207.271 @@ -1273,10 +1470,14 @@
 207.272       * registered in the MBean server.</p>
 207.273       *
 207.274       * <p>The default implementation of this method returns the {@code name}
 207.275 -     * parameter.  It does nothing else for
 207.276 -     * Standard MBeans.  For MXBeans, it records the {@code MBeanServer}
 207.277 -     * and {@code ObjectName} parameters so they can be used to translate
 207.278 -     * inter-MXBean references.</p>
 207.279 +     * parameter. If the
 207.280 +     * {@link Options#isMBeanRegistrationForwarded MBeanRegistrationForwarded}
 207.281 +     * option is set to true, then this method is forwarded to the object
 207.282 +     * returned by the {@link #getImplementation getImplementation()} method.
 207.283 +     * The name returned by this call is then returned by this method.
 207.284 +     * It does nothing else for Standard MBeans.  For MXBeans, it records
 207.285 +     * the {@code MBeanServer} and {@code ObjectName} parameters so they can
 207.286 +     * be used to translate inter-MXBean references.</p>
 207.287       *
 207.288       * <p>It is good practice for a subclass that overrides this method
 207.289       * to call the overridden method via {@code super.preRegister(...)}.
 207.290 @@ -1311,6 +1512,11 @@
 207.291       */
 207.292      public ObjectName preRegister(MBeanServer server, ObjectName name)
 207.293              throws Exception {
 207.294 +        // Forward preRegister before to call register and
 207.295 +        // inject parameters.
 207.296 +        if(shouldForwardMBeanRegistration())
 207.297 +            name = ((MBeanRegistration)getImplementation()).
 207.298 +                    preRegister(server, name);
 207.299          mbean.register(server, name);
 207.300          MBeanInjector.inject(mbean.getWrappedObject(), server, name);
 207.301          return name;
 207.302 @@ -1320,7 +1526,11 @@
 207.303       * <p>Allows the MBean to perform any operations needed after having been
 207.304       * registered in the MBean server or after the registration has failed.</p>
 207.305       *
 207.306 -     * <p>The default implementation of this method does nothing for
 207.307 +     * <p>If the
 207.308 +     * {@link Options#isMBeanRegistrationForwarded MBeanRegistrationForwarded}
 207.309 +     * option is set to true, then this method is forwarded to the object
 207.310 +     * returned by the {@link #getImplementation getImplementation()} method.
 207.311 +     * The default implementation of this method does nothing else for
 207.312       * Standard MBeans.  For MXBeans, it undoes any work done by
 207.313       * {@link #preRegister preRegister} if registration fails.</p>
 207.314       *
 207.315 @@ -1338,16 +1548,24 @@
 207.316      public void postRegister(Boolean registrationDone) {
 207.317          if (!registrationDone)
 207.318              mbean.unregister();
 207.319 +        if(shouldForwardMBeanRegistration())
 207.320 +            ((MBeanRegistration)getImplementation()).
 207.321 +                    postRegister(registrationDone);
 207.322      }
 207.323  
 207.324      /**
 207.325       * <p>Allows the MBean to perform any operations it needs before
 207.326       * being unregistered by the MBean server.</p>
 207.327       *
 207.328 -     * <p>The default implementation of this method does nothing.</p>
 207.329 +     * <p>If the
 207.330 +     * {@link Options#isMBeanRegistrationForwarded MBeanRegistrationForwarded}
 207.331 +     * option is set to true, then this method is forwarded to the object
 207.332 +     * returned by the {@link #getImplementation getImplementation()} method.
 207.333 +     * Other than that, the default implementation of this method does nothing.
 207.334 +     * </p>
 207.335       *
 207.336       * <p>It is good practice for a subclass that overrides this method
 207.337 -     * to call the overridden method via {@code super.preDeegister(...)}.</p>
 207.338 +     * to call the overridden method via {@code super.preDeregister(...)}.</p>
 207.339       *
 207.340       * @throws Exception no checked exceptions are throw by this method
 207.341       * but {@code Exception} is declared so that subclasses can override
 207.342 @@ -1356,13 +1574,19 @@
 207.343       * @since 1.6
 207.344       */
 207.345      public void preDeregister() throws Exception {
 207.346 +        if(shouldForwardMBeanRegistration())
 207.347 +            ((MBeanRegistration)getImplementation()).preDeregister();
 207.348      }
 207.349  
 207.350      /**
 207.351       * <p>Allows the MBean to perform any operations needed after having been
 207.352       * unregistered in the MBean server.</p>
 207.353       *
 207.354 -     * <p>The default implementation of this method does nothing for
 207.355 +     * <p>If the
 207.356 +     * {@link Options#isMBeanRegistrationForwarded MBeanRegistrationForwarded}
 207.357 +     * option is set to true, then this method is forwarded to the object
 207.358 +     * returned by the {@link #getImplementation getImplementation()} method.
 207.359 +     * The default implementation of this method does nothing else for
 207.360       * Standard MBeans.  For MXBeans, it removes any information that
 207.361       * was recorded by the {@link #preRegister preRegister} method.</p>
 207.362       *
 207.363 @@ -1375,8 +1599,15 @@
 207.364       */
 207.365      public void postDeregister() {
 207.366          mbean.unregister();
 207.367 +        if(shouldForwardMBeanRegistration())
 207.368 +            ((MBeanRegistration)getImplementation()).postDeregister();
 207.369      }
 207.370  
 207.371 +    private boolean shouldForwardMBeanRegistration() {
 207.372 +        return (getImplementation() instanceof MBeanRegistration) &&
 207.373 +           (options instanceof Options &&
 207.374 +                ((Options) options).isMBeanRegistrationForwarded());
 207.375 +    }
 207.376      //
 207.377      // MBeanInfo immutability
 207.378      //
   208.1 --- a/src/share/classes/javax/management/event/EventClient.java	Wed Jan 14 21:35:03 2009 -0800
   208.2 +++ b/src/share/classes/javax/management/event/EventClient.java	Tue Jan 20 09:42:07 2009 -0800
   208.3 @@ -187,9 +187,10 @@
   208.4       * forwarded by the {@link EventClientDelegateMBean}. If {@code null}, a
   208.5       * {@link FetchingEventRelay} object will be used.
   208.6       * @param distributingExecutor Used to distribute notifications to local
   208.7 -     * listeners. If {@code null}, the thread that calls {@link
   208.8 -     * EventReceiver#receive EventReceiver.receive} from the {@link EventRelay}
   208.9 -     * object is used.
  208.10 +     * listeners. Only one job at a time will be submitted to this Executor.
  208.11 +     * If {@code distributingExecutor} is {@code null}, the thread that calls
  208.12 +     * {@link EventReceiver#receive EventReceiver.receive} from the {@link
  208.13 +     * EventRelay} object is used.
  208.14       * @param leaseScheduler An object that will be used to schedule the
  208.15       * periodic {@linkplain EventClientDelegateMBean#lease lease updates}.
  208.16       * If {@code null}, a default scheduler will be used.
  208.17 @@ -545,7 +546,7 @@
  208.18       *
  208.19       * <P>The method returns the listeners which were added successfully. The
  208.20       * elements in the returned collection are a subset of the elements in
  208.21 -     * {@code infoList}. If all listeners were added successfully, the two
  208.22 +     * {@code listeners}. If all listeners were added successfully, the two
  208.23       * collections are the same. If no listener was added successfully, the
  208.24       * returned collection is empty.</p>
  208.25       *
   209.1 --- a/src/share/classes/javax/management/event/FetchingEventRelay.java	Wed Jan 14 21:35:03 2009 -0800
   209.2 +++ b/src/share/classes/javax/management/event/FetchingEventRelay.java	Tue Jan 20 09:42:07 2009 -0800
   209.3 @@ -39,10 +39,18 @@
   209.4  import javax.management.remote.NotificationResult;
   209.5  
   209.6  /**
   209.7 - * This class is an implementation of the {@link EventRelay} interface. It calls
   209.8 + * <p>This class is an implementation of the {@link EventRelay} interface. It calls
   209.9   * {@link EventClientDelegateMBean#fetchNotifications
  209.10   * fetchNotifications(String, long, int, long)} to get
  209.11 - * notifications and then forwards them to an {@link EventReceiver} object.
  209.12 + * notifications and then forwards them to an {@link EventReceiver} object.</p>
  209.13 + *
  209.14 + * <p>A {@code fetchExecutor} parameter can be specified when creating a
  209.15 + * {@code FetchingEventRelay}.  That is then the {@code Executor} that will
  209.16 + * be used to perform the {@code fetchNotifications} operation.  Only one
  209.17 + * job at a time will be submitted to this {@code Executor}.  The behavior
  209.18 + * is unspecified if {@link Executor#execute} throws an exception, including
  209.19 + * {@link java.util.concurrent.RejectedExecutionException
  209.20 + * RejectedExecutionException}.
  209.21   *
  209.22   * @since JMX 2.0
  209.23   */
   210.1 --- a/src/share/classes/javax/management/loading/MLet.java	Wed Jan 14 21:35:03 2009 -0800
   210.2 +++ b/src/share/classes/javax/management/loading/MLet.java	Tue Jan 20 09:42:07 2009 -0800
   210.3 @@ -1165,9 +1165,10 @@
   210.4                       file.deleteOnExit();
   210.5                       FileOutputStream fileOutput = new FileOutputStream(file);
   210.6                       try {
   210.7 -                         int c;
   210.8 -                         while ((c = is.read()) != -1) {
   210.9 -                             fileOutput.write(c);
  210.10 +                         byte[] buf = new byte[4096];
  210.11 +                         int n;
  210.12 +                         while ((n = is.read(buf)) >= 0) {
  210.13 +                            fileOutput.write(buf, 0, n);
  210.14                           }
  210.15                       } finally {
  210.16                           fileOutput.close();
   211.1 --- a/src/share/classes/javax/management/modelmbean/DescriptorSupport.java	Wed Jan 14 21:35:03 2009 -0800
   211.2 +++ b/src/share/classes/javax/management/modelmbean/DescriptorSupport.java	Tue Jan 20 09:42:07 2009 -0800
   211.3 @@ -229,9 +229,10 @@
   211.4              init(inDescr.descriptorMap);
   211.5      }
   211.6  
   211.7 -
   211.8      /**
   211.9 -     * <p>Descriptor constructor taking an XML String.</p>
  211.10 +     * <p>Descriptor constructor taking an XML String or a
  211.11 +     * <i>fieldName=fieldValue</i> format String. The String parameter is
  211.12 +     * parsed as XML if it begins with a '<' character.</p>
  211.13       *
  211.14       * <p>The format of the XML string is not defined, but an
  211.15       * implementation must ensure that the string returned by
  211.16 @@ -244,17 +245,20 @@
  211.17       * programmer will have to reset or convert these fields
  211.18       * correctly.</p>
  211.19       *
  211.20 -     * @param inStr An XML-formatted string used to populate this
  211.21 -     * Descriptor.  The format is not defined, but any
  211.22 +     * @param inStr An XML-format or a fieldName=fieldValue formatted string
  211.23 +     * used to populate this Descriptor.  The XML format is not defined, but any
  211.24       * implementation must ensure that the string returned by
  211.25       * method {@link #toXMLString toXMLString} on an existing
  211.26       * descriptor can be used to instantiate an equivalent
  211.27       * descriptor when instantiated using this constructor.
  211.28       *
  211.29 -     * @exception RuntimeOperationsException If the String inStr
  211.30 -     * passed in parameter is null
  211.31 +     * @exception RuntimeOperationsException If the String inStr passed in
  211.32 +     * parameter is null or, when it is not an XML string, if the field name or
  211.33 +     * field value is illegal. If inStr is not an XML string then it must
  211.34 +     * contain an "=". "fieldValue", "fieldName", and "fieldValue" are illegal.
  211.35 +     * FieldName cannot be empty. "fieldName=" will cause the value to be empty.
  211.36       * @exception XMLParseException XML parsing problem while parsing
  211.37 -     * the input String
  211.38 +     * the XML-format input String
  211.39       * @exception MBeanException Wraps a distributed communication Exception.
  211.40       */
  211.41      /* At some stage we should rewrite this code to be cleverer.  Using
  211.42 @@ -283,14 +287,27 @@
  211.43              throw new RuntimeOperationsException(iae, msg);
  211.44          }
  211.45  
  211.46 +        // parse parameter string into structures
  211.47 +
  211.48 +        init(null);
  211.49 +
  211.50 +        if(!inStr.startsWith("<")) {
  211.51 +            parseNamesValues(inStr);
  211.52 +            if (MODELMBEAN_LOGGER.isLoggable(Level.FINEST)) {
  211.53 +                MODELMBEAN_LOGGER.logp(Level.FINEST,
  211.54 +                    DescriptorSupport.class.getName(),
  211.55 +                    "Descriptor(name=value)", "Exit");
  211.56 +            }
  211.57 +            return;
  211.58 +        }
  211.59 +
  211.60          final String lowerInStr = inStr.toLowerCase();
  211.61          if (!lowerInStr.startsWith("<descriptor>")
  211.62              || !lowerInStr.endsWith("</descriptor>")) {
  211.63              throw new XMLParseException("No <descriptor>, </descriptor> pair");
  211.64          }
  211.65  
  211.66 -        // parse xmlstring into structures
  211.67 -        init(null);
  211.68 +
  211.69          // create dummy descriptor: should have same size
  211.70          // as number of fields in xmlstring
  211.71          // loop through structures and put them in descriptor
  211.72 @@ -454,6 +471,16 @@
  211.73  
  211.74          init(null);
  211.75  
  211.76 +        parseNamesValues(fields);
  211.77 +
  211.78 +        if (MODELMBEAN_LOGGER.isLoggable(Level.FINEST)) {
  211.79 +            MODELMBEAN_LOGGER.logp(Level.FINEST,
  211.80 +                    DescriptorSupport.class.getName(),
  211.81 +                    "Descriptor(String... fields)", "Exit");
  211.82 +        }
  211.83 +    }
  211.84 +
  211.85 +    private void parseNamesValues(String... fields) {
  211.86          for (int i=0; i < fields.length; i++) {
  211.87              if ((fields[i] == null) || (fields[i].equals(""))) {
  211.88                  continue;
  211.89 @@ -495,11 +522,6 @@
  211.90  
  211.91              setField(fieldName,fieldValue);
  211.92          }
  211.93 -        if (MODELMBEAN_LOGGER.isLoggable(Level.FINEST)) {
  211.94 -            MODELMBEAN_LOGGER.logp(Level.FINEST,
  211.95 -                    DescriptorSupport.class.getName(),
  211.96 -                    "Descriptor(String... fields)", "Exit");
  211.97 -        }
  211.98      }
  211.99  
 211.100      private void init(Map<String, ?> initMap) {
   212.1 --- a/src/share/classes/javax/management/monitor/MonitorNotification.java	Wed Jan 14 21:35:03 2009 -0800
   212.2 +++ b/src/share/classes/javax/management/monitor/MonitorNotification.java	Tue Jan 20 09:42:07 2009 -0800
   212.3 @@ -201,7 +201,7 @@
   212.4       * @param derGauge The derived gauge.
   212.5       * @param trigger The threshold/string (depending on the monitor type) that triggered the notification.
   212.6       */
   212.7 -    MonitorNotification(String type, Object source, long sequenceNumber, long timeStamp, String msg,
   212.8 +    public MonitorNotification(String type, Object source, long sequenceNumber, long timeStamp, String msg,
   212.9                                 ObjectName obsObj, String obsAtt, Object derGauge, Object trigger) {
  212.10  
  212.11          super(type, source, sequenceNumber, timeStamp, msg);
   213.1 --- a/src/share/classes/javax/management/namespace/JMXDomain.java	Wed Jan 14 21:35:03 2009 -0800
   213.2 +++ b/src/share/classes/javax/management/namespace/JMXDomain.java	Tue Jan 20 09:42:07 2009 -0800
   213.3 @@ -35,7 +35,6 @@
   213.4  import javax.management.InstanceNotFoundException;
   213.5  import javax.management.MBeanServer;
   213.6  import javax.management.MBeanServerDelegate;
   213.7 -import javax.management.MalformedObjectNameException;
   213.8  import javax.management.ObjectName;
   213.9  
  213.10  /**
  213.11 @@ -291,12 +290,9 @@
  213.12      public static ObjectName getDomainObjectName(String domain) {
  213.13          if (domain == null) return null;
  213.14          if (domain.contains(NAMESPACE_SEPARATOR))
  213.15 -            throw new IllegalArgumentException(domain);
  213.16 -        try {
  213.17 -            return ObjectName.getInstance(domain, "type", TYPE);
  213.18 -        } catch (MalformedObjectNameException x) {
  213.19 -            throw new IllegalArgumentException(domain,x);
  213.20 -        }
  213.21 +            throw new IllegalArgumentException("domain contains " +
  213.22 +                    NAMESPACE_SEPARATOR+": "+domain);
  213.23 +        return ObjectName.valueOf(domain, "type", TYPE);
  213.24      }
  213.25  
  213.26  
   214.1 --- a/src/share/classes/javax/management/namespace/JMXNamespacePermission.java	Wed Jan 14 21:35:03 2009 -0800
   214.2 +++ b/src/share/classes/javax/management/namespace/JMXNamespacePermission.java	Tue Jan 20 09:42:07 2009 -0800
   214.3 @@ -136,7 +136,8 @@
   214.4   * <code>**</code> matches any number of sub namespaces
   214.5   * recursively, but only if used as a complete namespace path element,
   214.6   * as in <code>*&#42;//b//c//D:k=v</code> or <code>a//*&#42;//c//D:k=v</code>
   214.7 - * - see <a href="#metawildcard">below</a>.
   214.8 + * - see ObjectName <a href="../ObjectName.html#metawildcard">documentation</a>
   214.9 + * for more details.
  214.10   * </p>
  214.11   *
  214.12   *
  214.13 @@ -270,38 +271,9 @@
  214.14   * </pre>
  214.15   * <p><b>Note on wildcards:</b> In an object name pattern, a path element
  214.16   *    of exactly <code>**</code> corresponds to a meta
  214.17 - *    wildcard that will match any number of sub namespaces. Hence:</p>
  214.18 - * <ul>
  214.19 - * <table border="1">
  214.20 - * <thead><th>pattern</th><th>matches</th><th>doesn't match</th></thead>
  214.21 - * <tbody>
  214.22 - * <tr><td><code>*&#42;//D:k=v</code></td>
  214.23 - *     <td><code>a//D:k=v</code><br>
  214.24 - *         <code>a//b//D:k=v</code><br>
  214.25 - *         <code>a//b//c//D:k=v</code></td>
  214.26 - *     <td><code>D:k=v</code></td></tr>
  214.27 - * <tr><td><code>a//*&#42;//D:k=v</code></td>
  214.28 - *     <td><code>a//b//D:k=v</code><br>
  214.29 - *         <code>a//b//c//D:k=v</code></td>
  214.30 - *     <td><code>b//b//c//D:k=v</code><br>
  214.31 - *         <code>a//D:k=v</code><br>
  214.32 - *         <code>D:k=v</code></td></tr>
  214.33 - * <tr><td><code>a//*&#42;//e//D:k=v</code></td>
  214.34 - *     <td><code>a//b//e//D:k=v</code><br>
  214.35 - *         <code>a//b//c//e//D:k=v</code></td>
  214.36 - *     <td><code>a//b//c//c//D:k=v</code><br>
  214.37 - *         <code>b//b//c//e//D:k=v</code><br>
  214.38 - *         <code>a//e//D:k=v</code><br>
  214.39 - *         <code>e//D:k=v</code></td></tr>
  214.40 - * <tr><td><code>a//b*&#42;//e//D:k=v</code></td>
  214.41 - *      <td><code>a//b//e//D:k=v</code></td>
  214.42 - *      <td><code>a//b//c//e//D:k=v</code><br>
  214.43 - *          because in that case <code>b*&#42;</code><br>
  214.44 - *         is not a meta-wildcard - and <code>b**</code><br>
  214.45 - *         is thus equivalent to <code>b*</code>.</td></tr>
  214.46 - * </tbody>
  214.47 - * </table>
  214.48 - *</ul>
  214.49 + *    wildcard that will match any number of sub namespaces.
  214.50 + *    See ObjectName <a href="../ObjectName.html#metawildcard">documentation</a>
  214.51 + *    for more details.</p>
  214.52   *
  214.53   * <p>If {@code <mbean server name>::} is omitted, then one of
  214.54   * <code>member</code> or <code>object name</code> may be omitted.
   215.1 --- a/src/share/classes/javax/management/namespace/JMXNamespaces.java	Wed Jan 14 21:35:03 2009 -0800
   215.2 +++ b/src/share/classes/javax/management/namespace/JMXNamespaces.java	Tue Jan 20 09:42:07 2009 -0800
   215.3 @@ -292,17 +292,13 @@
   215.4          if (path == null || to == null)
   215.5              throw new IllegalArgumentException("Null argument");
   215.6          checkTrailingSlashes(path);
   215.7 -        try {
   215.8 -            String prefix = path;
   215.9 -            if (!prefix.equals("")) prefix =
  215.10 -                    ObjectNameRouter.normalizeNamespacePath(
  215.11 +        String prefix = path;
  215.12 +        if (!prefix.equals(""))
  215.13 +            prefix = ObjectNameRouter.normalizeNamespacePath(
  215.14                          prefix + NAMESPACE_SEPARATOR,false,false,false);
  215.15 -            return to.withDomain(
  215.16 +         return to.withDomain(
  215.17                      ObjectNameRouter.normalizeDomain(
  215.18                          prefix+to.getDomain(),false));
  215.19 -        } catch (MalformedObjectNameException x) {
  215.20 -            throw new IllegalArgumentException(path+": "+x,x);
  215.21 -        }
  215.22      }
  215.23  
  215.24      /**
   216.1 --- a/src/share/classes/javax/management/namespace/package-info.java	Wed Jan 14 21:35:03 2009 -0800
   216.2 +++ b/src/share/classes/javax/management/namespace/package-info.java	Tue Jan 20 09:42:07 2009 -0800
   216.3 @@ -204,7 +204,38 @@
   216.4   *      </pre>
   216.5   *      An easier way to access MBeans contained in a name space is to
   216.6   *      <i>cd</i> inside the name space, as shown in the following paragraph.
   216.7 - *  </p>
   216.8 + *  </p><p id="RejectedNamespacePatterns">
   216.9 + *      Although ObjectName patterns where the characters
  216.10 + *      <code>*</code> and <code>?</code> appear in the namespace path are
  216.11 + *      legal, they are not valid in the {@code name} parameter of the
  216.12 + *      MBean Server {@link
  216.13 + *      javax.management.MBeanServer#queryNames queryNames} and {@link
  216.14 + *      javax.management.MBeanServer#queryMBeans queryMBeans} methods.<br>
  216.15 + *      When invoking <code>queryNames</code> or  <code>queryMBeans</code>,
  216.16 + *      only ObjectNames of the form:<br>
  216.17 + *      [<em>namespace-without-pattern</em>//]*[<em>pattern-without-namespace</em>]:<em>key-properties-with-or-without-pattern</em>
  216.18 + *      are valid.<br>
  216.19 + *      In other words: in the case of {@link
  216.20 + *      javax.management.MBeanServer#queryNames queryNames} and {@link
  216.21 + *      javax.management.MBeanServer#queryMBeans queryMBeans}, if a
  216.22 + *      namespace path is present, it must not contain any pattern.
  216.23 + *  </p><p id="NamespaceAndQueries">
  216.24 + *      There is no such restriction for the {@code query} parameter of these
  216.25 + *      methods. However, it must be noted that the {@code query} parameter
  216.26 + *      will be evaluated in the context of the namespace where the MBeans
  216.27 + *      selected by the pattern specified in {@code name} are located.
  216.28 + *      This means that if {@code query} parameter is an ObjectName pattern that
  216.29 + *      contains a namespace path, no MBean name will match and the result of
  216.30 + *      the query will be empty.<br>
  216.31 + *      In other words:</p>
  216.32 + * <ul><li>{@code queryNames("foo//bar//?a?:*","b?z:type=Monitor,*")} will select
  216.33 + *         all MBeans in namespace <em>foo//bar</em> whose names match both
  216.34 + *         <em>?a?:*</em> and <em>b?z:type=Monitor,*</em>, but</li>
  216.35 + *     <li>{@code queryNames("foo//bar//?a?:*","foo//bar//b?z:type=Monitor,*")}
  216.36 + *         will select nothing because no name matching <em>?a?:*</em> will
  216.37 + *         also match <em>foo//bar//b?z:type=Monitor,*</em>.
  216.38 + *     </li>
  216.39 + *  </ul>
  216.40   *
  216.41   *  <h3 id="ChangeTo">Narrowing Down Into a Name Spaces</h3>
  216.42   *  <p>
  216.43 @@ -228,7 +259,8 @@
  216.44   *      to name space {@code "foo"} behaves just like a regular MBean server.
  216.45   *      However, it may sometimes throw an {@link
  216.46   *      java.lang.UnsupportedOperationException UnsupportedOperationException}
  216.47 - *      wrapped in a JMX exception if you try to call an operation which is not
  216.48 + *      wrapped in a {@link javax.management.RuntimeOperationsException
  216.49 + *      RuntimeOperationsException} if you try to call an operation which is not
  216.50   *      supported by the underlying name space handler.
  216.51   *      <br>For instance, {@link javax.management.MBeanServer#registerMBean
  216.52   *      registerMBean} is not supported for name spaces mounted from remote
   217.1 --- a/src/share/classes/javax/management/remote/JMXConnectorServer.java	Wed Jan 14 21:35:03 2009 -0800
   217.2 +++ b/src/share/classes/javax/management/remote/JMXConnectorServer.java	Tue Jan 20 09:42:07 2009 -0800
   217.3 @@ -387,6 +387,34 @@
   217.4      }
   217.5  
   217.6      /**
   217.7 +     * Closes a client connection. If the connection is successfully closed,
   217.8 +     * the method {@link #connectionClosed} is called to notify interested parties.
   217.9 +     * <P>Not all connector servers support this method. For those that do, it
  217.10 +     * should be possible to cause a new client connection to fail before it
  217.11 +     * can be used, by calling this method from within a
  217.12 +     * {@link javax.management.NotificationListener}
  217.13 +     * when it receives a {@link JMXConnectionNotification#OPENED} notification.
  217.14 +     * This allows the owner of a connector server to deny certain connections,
  217.15 +     * typically based on the information in the connection id.
  217.16 +     * <P>The implementation of this method in {@code JMXConnectorServer} throws
  217.17 +     * {@code UnsupportedOperationException}. Subclasses can override this
  217.18 +     * method to support closing a specified client connection.
  217.19 +     *
  217.20 +     * @param connectionId the id of the client connection to be closed.
  217.21 +     * @throws IllegalStateException if the server is not started or is closed.
  217.22 +     * @throws IllegalArgumentException if {@code connectionId} is null or is
  217.23 +     * not the id of any open connection.
  217.24 +     * @throws java.io.IOException if an I/O error appears when closing the
  217.25 +     * connection.
  217.26 +     *
  217.27 +     * @since 1.7
  217.28 +     */
  217.29 +    public void closeConnection(String connectionId)
  217.30 +            throws IOException {
  217.31 +        throw new UnsupportedOperationException();
  217.32 +    }
  217.33 +
  217.34 +    /**
  217.35       * <p>Install {@link MBeanServerForwarder}s in the system chain
  217.36       * based on the attributes in the given {@code Map}.  A connector
  217.37       * server that {@linkplain #supportsSystemMBeanServerForwarder supports}
   218.1 --- a/src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java	Wed Jan 14 21:35:03 2009 -0800
   218.2 +++ b/src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java	Tue Jan 20 09:42:07 2009 -0800
   218.3 @@ -602,6 +602,26 @@
   218.4          return true;
   218.5      }
   218.6  
   218.7 +    /**
   218.8 +     * {@inheritDoc}
   218.9 +     * <P>The {@code RMIConnectorServer} class does support closing a specified
  218.10 +     * client connection.
  218.11 +     * @throws IllegalStateException if the server is not started or is closed.
  218.12 +     * @throws IllegalArgumentException if {@code connectionId} is null or is
  218.13 +     * not the id of any open connection.
  218.14 +     * @since 1.7
  218.15 +     */
  218.16 +    @Override
  218.17 +    public void closeConnection(String connectionId)
  218.18 +            throws IOException {
  218.19 +        if (isActive()) {
  218.20 +            rmiServerImpl.closeConnection(connectionId);
  218.21 +        } else {
  218.22 +            throw new IllegalStateException(
  218.23 +                    "The server is not started or is closed.");
  218.24 +        }
  218.25 +    }
  218.26 +
  218.27      /* We repeat the definitions of connection{Opened,Closed,Failed}
  218.28         here so that they are accessible to other classes in this package
  218.29         even though they have protected access.  */
   219.1 --- a/src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java	Wed Jan 14 21:35:03 2009 -0800
   219.2 +++ b/src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java	Tue Jan 20 09:42:07 2009 -0800
   219.3 @@ -38,6 +38,9 @@
   219.4  import javax.security.auth.Subject;
   219.5  
   219.6  import com.sun.jmx.remote.internal.RMIExporter;
   219.7 +import com.sun.jmx.remote.util.EnvHelp;
   219.8 +import sun.rmi.server.UnicastServerRef;
   219.9 +import sun.rmi.server.UnicastServerRef2;
  219.10  
  219.11  /**
  219.12   * <p>An {@link RMIServer} object that is exported through JRMP and that
  219.13 @@ -93,12 +96,27 @@
  219.14      }
  219.15  
  219.16      private void export(Remote obj) throws RemoteException {
  219.17 -        RMIExporter exporter =
  219.18 +        final RMIExporter exporter =
  219.19              (RMIExporter) env.get(RMIExporter.EXPORTER_ATTRIBUTE);
  219.20 -        if (exporter == null)
  219.21 +        final boolean daemon = EnvHelp.isServerDaemon(env);
  219.22 +
  219.23 +        if (daemon && exporter != null) {
  219.24 +            throw new IllegalArgumentException("If "+EnvHelp.JMX_SERVER_DAEMON+
  219.25 +                    " is specified as true, "+RMIExporter.EXPORTER_ATTRIBUTE+
  219.26 +                    " cannot be used to specify an exporter!");
  219.27 +        }
  219.28 +
  219.29 +        if (daemon) {
  219.30 +            if (csf == null && ssf == null) {
  219.31 +                new UnicastServerRef(port).exportObject(obj, null, true);
  219.32 +            } else {
  219.33 +                new UnicastServerRef2(port, csf, ssf).exportObject(obj, null, true);
  219.34 +            }
  219.35 +        } else if (exporter != null) {
  219.36 +            exporter.exportObject(obj, port, csf, ssf);
  219.37 +        } else {
  219.38              UnicastRemoteObject.exportObject(obj, port, csf, ssf);
  219.39 -        else
  219.40 -            exporter.exportObject(obj, port, csf, ssf);
  219.41 +        }
  219.42      }
  219.43  
  219.44      private void unexport(Remote obj, boolean force)
   220.1 --- a/src/share/classes/javax/management/remote/rmi/RMIServerImpl.java	Wed Jan 14 21:35:03 2009 -0800
   220.2 +++ b/src/share/classes/javax/management/remote/rmi/RMIServerImpl.java	Tue Jan 20 09:42:07 2009 -0800
   220.3 @@ -249,14 +249,21 @@
   220.4  
   220.5          RMIConnection client = makeClient(connectionId, subject);
   220.6  
   220.7 -        connServer.connectionOpened(connectionId, "Connection opened", null);
   220.8 -
   220.9          dropDeadReferences();
  220.10          WeakReference<RMIConnection> wr = new WeakReference<RMIConnection>(client);
  220.11          synchronized (clientList) {
  220.12              clientList.add(wr);
  220.13          }
  220.14  
  220.15 +        connServer.connectionOpened(connectionId, "Connection opened", null);
  220.16 +
  220.17 +        synchronized (clientList) {
  220.18 +            if (!clientList.contains(wr)) {
  220.19 +                // can be removed only by a JMXConnectionNotification listener
  220.20 +                throw new IOException("The connection is refused.");
  220.21 +            }
  220.22 +        }
  220.23 +
  220.24          if (tracing)
  220.25              logger.trace("newClient","new connection done: " + connectionId );
  220.26  
  220.27 @@ -264,6 +271,52 @@
  220.28      }
  220.29  
  220.30      /**
  220.31 +     * Closes a client connection.
  220.32 +     * @param connectionId the id of the client connection to be closed.
  220.33 +     * @throws IllegalArgumentException if {@code connectionId} is null or is
  220.34 +     * not the id of any open connection.
  220.35 +     * @throws java.io.IOException if an I/O error appears when closing the
  220.36 +     * connection.
  220.37 +     *
  220.38 +     * @since 1.7
  220.39 +     */
  220.40 +    public void closeConnection(String connectionId)
  220.41 +            throws IOException {
  220.42 +        final boolean debug = logger.debugOn();
  220.43 +
  220.44 +        if (debug) logger.trace("closeConnection","cconnectionId="+connectionId);
  220.45 +
  220.46 +        if (connectionId == null)
  220.47 +            throw new IllegalArgumentException("Null connectionId.");
  220.48 +
  220.49 +        RMIConnection client = null;
  220.50 +        synchronized (clientList) {
  220.51 +            dropDeadReferences();
  220.52 +            for (Iterator<WeakReference<RMIConnection>> it = clientList.iterator();
  220.53 +                 it.hasNext(); ) {
  220.54 +                client = it.next().get();
  220.55 +                if (client != null && connectionId.equals(client.getConnectionId())) {
  220.56 +                    it.remove();
  220.57 +                    break;
  220.58 +                }
  220.59 +            }
  220.60 +        }
  220.61 +
  220.62 +        if (client == null) {
  220.63 +            throw new IllegalArgumentException("Unknown id: "+connectionId);
  220.64 +        }
  220.65 +
  220.66 +        if (debug) logger.trace("closeConnection", "closing client connection.");
  220.67 +        closeClient(client);
  220.68 +
  220.69 +        if (debug) logger.trace("closeConnection", "sending notif");
  220.70 +        connServer.connectionClosed(connectionId,
  220.71 +                                    "Client connection closed", null);
  220.72 +
  220.73 +        if (debug) logger.trace("closeConnection","done");
  220.74 +    }
  220.75 +
  220.76 +    /**
  220.77       * <p>Creates a new client connection.  This method is called by
  220.78       * the public method {@link #newClient(Object)}.</p>
  220.79       *
   221.1 --- a/src/share/classes/javax/print/Doc.java	Wed Jan 14 21:35:03 2009 -0800
   221.2 +++ b/src/share/classes/javax/print/Doc.java	Tue Jan 20 09:42:07 2009 -0800
   221.3 @@ -28,9 +28,7 @@
   221.4  import java.io.InputStream;
   221.5  import java.io.IOException;
   221.6  import java.io.Reader;
   221.7 -import java.io.UnsupportedEncodingException;
   221.8  
   221.9 -import javax.print.attribute.AttributeSet;
  221.10  import javax.print.attribute.DocAttributeSet;
  221.11  
  221.12  
   222.1 --- a/src/share/classes/javax/print/DocFlavor.java	Wed Jan 14 21:35:03 2009 -0800
   222.2 +++ b/src/share/classes/javax/print/DocFlavor.java	Tue Jan 20 09:42:07 2009 -0800
   222.3 @@ -30,7 +30,6 @@
   222.4  import java.io.ObjectOutputStream;
   222.5  import java.io.Serializable;
   222.6  
   222.7 -import java.util.Map;
   222.8  
   222.9  /**
  222.10   * Class <code>DocFlavor</code> encapsulates an object that specifies the
   223.1 --- a/src/share/classes/javax/print/DocPrintJob.java	Wed Jan 14 21:35:03 2009 -0800
   223.2 +++ b/src/share/classes/javax/print/DocPrintJob.java	Tue Jan 20 09:42:07 2009 -0800
   223.3 @@ -25,7 +25,6 @@
   223.4  
   223.5  package javax.print;
   223.6  
   223.7 -import javax.print.attribute.AttributeSet;
   223.8  import javax.print.attribute.PrintJobAttributeSet;
   223.9  import javax.print.attribute.PrintRequestAttributeSet;
  223.10  import javax.print.event.PrintJobAttributeListener;
   224.1 --- a/src/share/classes/javax/print/MultiDocPrintService.java	Wed Jan 14 21:35:03 2009 -0800
   224.2 +++ b/src/share/classes/javax/print/MultiDocPrintService.java	Tue Jan 20 09:42:07 2009 -0800
   224.3 @@ -25,11 +25,6 @@
   224.4  
   224.5  package javax.print;
   224.6  
   224.7 -import java.util.Map;
   224.8 -
   224.9 -import javax.print.attribute.Attribute;
  224.10 -import javax.print.event.PrintServiceAttributeListener;
  224.11 -
  224.12  
  224.13   /** Interface MultiPrintService is the factory for a MultiDocPrintJob.
  224.14    * A MultiPrintService
   225.1 --- a/src/share/classes/javax/print/PrintServiceLookup.java	Wed Jan 14 21:35:03 2009 -0800
   225.2 +++ b/src/share/classes/javax/print/PrintServiceLookup.java	Tue Jan 20 09:42:07 2009 -0800
   225.3 @@ -28,7 +28,6 @@
   225.4  
   225.5  import java.util.ArrayList;
   225.6  import java.util.Iterator;
   225.7 -import java.util.List;
   225.8  import javax.print.attribute.AttributeSet;
   225.9  
  225.10  import sun.awt.AppContext;
   226.1 --- a/src/share/classes/javax/print/attribute/URISyntax.java	Wed Jan 14 21:35:03 2009 -0800
   226.2 +++ b/src/share/classes/javax/print/attribute/URISyntax.java	Tue Jan 20 09:42:07 2009 -0800
   226.3 @@ -28,7 +28,6 @@
   226.4  
   226.5  import java.io.Serializable;
   226.6  import java.net.URI;
   226.7 -import java.net.URISyntaxException;
   226.8  
   226.9  /**
  226.10   * Class URISyntax is an abstract base class providing the common
   227.1 --- a/src/share/classes/javax/print/event/PrintServiceAttributeEvent.java	Wed Jan 14 21:35:03 2009 -0800
   227.2 +++ b/src/share/classes/javax/print/event/PrintServiceAttributeEvent.java	Tue Jan 20 09:42:07 2009 -0800
   227.3 @@ -25,7 +25,6 @@
   227.4  
   227.5  package javax.print.event;
   227.6  
   227.7 -import java.util.List;
   227.8  import javax.print.PrintService;
   227.9  import javax.print.attribute.AttributeSetUtilities;
  227.10  import javax.print.attribute.PrintServiceAttributeSet;
   228.1 --- a/src/share/classes/sun/font/Decoration.java	Wed Jan 14 21:35:03 2009 -0800
   228.2 +++ b/src/share/classes/sun/font/Decoration.java	Tue Jan 20 09:42:07 2009 -0800
   228.3 @@ -267,7 +267,9 @@
   228.4              CoreMetrics cm = label.getCoreMetrics();
   228.5              if (strikethrough) {
   228.6                  Stroke savedStroke = g2d.getStroke();
   228.7 -                g2d.setStroke(new BasicStroke(cm.strikethroughThickness));
   228.8 +                g2d.setStroke(new BasicStroke(cm.strikethroughThickness,
   228.9 +                                              BasicStroke.CAP_BUTT,
  228.10 +                                              BasicStroke.JOIN_MITER));
  228.11                  float strikeY = y + cm.strikethroughOffset;
  228.12                  g2d.draw(new Line2D.Float(x1, strikeY, x2, strikeY));
  228.13                  g2d.setStroke(savedStroke);
  228.14 @@ -341,7 +343,7 @@
  228.15  
  228.16              Rectangle2D visBounds = label.handleGetVisualBounds();
  228.17  
  228.18 -            if (swapColors || bgPaint != null
  228.19 +            if (swapColors || bgPaint != null || strikethrough
  228.20                          || stdUnderline != null || imUnderline != null) {
  228.21  
  228.22                  float minX = 0;
  228.23 @@ -377,6 +379,7 @@
  228.24              // NOTE:  The performace of the following code may
  228.25              // be very poor.
  228.26              float ulThickness = cm.underlineThickness;
  228.27 +            float ulOffset = cm.underlineOffset;
  228.28  
  228.29              Rectangle2D lb = label.getLogicalBounds();
  228.30              float x1 = x;
  228.31 @@ -385,12 +388,15 @@
  228.32              Area area = null;
  228.33  
  228.34              if (stdUnderline != null) {
  228.35 -                Shape ul = stdUnderline.getUnderlineShape(ulThickness, x1, x2, y);
  228.36 +                Shape ul = stdUnderline.getUnderlineShape(ulThickness,
  228.37 +                                                          x1, x2, y+ulOffset);
  228.38                  area = new Area(ul);
  228.39              }
  228.40  
  228.41              if (strikethrough) {
  228.42 -                Stroke stStroke = new BasicStroke(cm.strikethroughThickness);
  228.43 +                Stroke stStroke = new BasicStroke(cm.strikethroughThickness,
  228.44 +                                                  BasicStroke.CAP_BUTT,
  228.45 +                                                  BasicStroke.JOIN_MITER);
  228.46                  float shiftY = y + cm.strikethroughOffset;
  228.47                  Line2D line = new Line2D.Float(x1, shiftY, x2, shiftY);
  228.48                  Area slArea = new Area(stStroke.createStrokedShape(line));
  228.49 @@ -402,7 +408,8 @@
  228.50              }
  228.51  
  228.52              if (imUnderline != null) {
  228.53 -                Shape ul = imUnderline.getUnderlineShape(ulThickness, x1, x2, y);
  228.54 +                Shape ul = imUnderline.getUnderlineShape(ulThickness,
  228.55 +                                                         x1, x2, y+ulOffset);
  228.56                  Area ulArea = new Area(ul);
  228.57                  if (area == null) {
  228.58                      area = ulArea;
   229.1 --- a/src/share/classes/sun/font/FontManager.java	Wed Jan 14 21:35:03 2009 -0800
   229.2 +++ b/src/share/classes/sun/font/FontManager.java	Tue Jan 20 09:42:07 2009 -0800
   229.3 @@ -3344,7 +3344,7 @@
   229.4              int fontFormat = FONTFORMAT_NONE;
   229.5              int fontRank = Font2D.UNKNOWN_RANK;
   229.6  
   229.7 -            if (ext.equals(".ttf") || isTTC) {
   229.8 +            if (ext.equals(".ttf") || ext.equals(".otf") || isTTC) {
   229.9                  fontFormat = FONTFORMAT_TRUETYPE;
  229.10                  fontRank = Font2D.TTF_RANK;
  229.11              } else if (ext.equals(".pfa") || ext.equals(".pfb")) {
   230.1 --- a/src/share/classes/sun/font/TrueTypeFont.java	Wed Jan 14 21:35:03 2009 -0800
   230.2 +++ b/src/share/classes/sun/font/TrueTypeFont.java	Tue Jan 20 09:42:07 2009 -0800
   230.3 @@ -90,6 +90,7 @@
   230.4      public static final int ttcfTag = 0x74746366; // 'ttcf' - TTC file
   230.5      public static final int v1ttTag = 0x00010000; // 'v1tt' - Version 1 TT font
   230.6      public static final int trueTag = 0x74727565; // 'true' - Version 2 TT font
   230.7 +    public static final int ottoTag = 0x4f54544f; // 'otto' - OpenType font
   230.8  
   230.9      /* -- ID's used in the 'name' table */
  230.10      public static final int MS_PLATFORM_ID = 3;
  230.11 @@ -490,6 +491,7 @@
  230.12  
  230.13              case v1ttTag:
  230.14              case trueTag:
  230.15 +            case ottoTag:
  230.16                  break;
  230.17  
  230.18              default:
   231.1 --- a/src/share/classes/sun/font/Underline.java	Wed Jan 14 21:35:03 2009 -0800
   231.2 +++ b/src/share/classes/sun/font/Underline.java	Tue Jan 20 09:42:07 2009 -0800
   231.3 @@ -126,7 +126,9 @@
   231.4          private BasicStroke createStroke(float lineThickness) {
   231.5  
   231.6              if (dashPattern == null) {
   231.7 -                return new BasicStroke(lineThickness);
   231.8 +                return new BasicStroke(lineThickness,
   231.9 +                                       BasicStroke.CAP_BUTT,
  231.10 +                                       BasicStroke.JOIN_MITER);
  231.11              }
  231.12              else {
  231.13                  return new BasicStroke(lineThickness,
   232.1 --- a/src/share/classes/sun/io/ByteToCharCp850.java	Wed Jan 14 21:35:03 2009 -0800
   232.2 +++ b/src/share/classes/sun/io/ByteToCharCp850.java	Tue Jan 20 09:42:07 2009 -0800
   232.3 @@ -1,5 +1,5 @@
   232.4  /*
   232.5 - * Copyright 1996-2005 Sun Microsystems, Inc.  All Rights Reserved.
   232.6 + * Copyright 1996-2002 Sun Microsystems, Inc.  All Rights Reserved.
   232.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   232.8   *
   232.9   * This code is free software; you can redistribute it and/or modify it
  232.10 @@ -23,7 +23,6 @@
  232.11   * have any questions.
  232.12   */
  232.13  
  232.14 -
  232.15  package sun.io;
  232.16  
  232.17  import sun.nio.cs.IBM850;
  232.18 @@ -32,6 +31,7 @@
  232.19   * A table to convert to Cp850 to Unicode
  232.20   *
  232.21   * @author  ConverterGenerator tool
  232.22 + * @version >= JDK1.1.6
  232.23   */
  232.24  
  232.25  public class ByteToCharCp850 extends ByteToCharSingleByte {
  232.26 @@ -41,6 +41,6 @@
  232.27      }
  232.28  
  232.29      public ByteToCharCp850() {
  232.30 -        super.byteToCharTable = IBM850.getDecoderSingleByteMappings();
  232.31 +        super.byteToCharTable = new IBM850().getDecoderSingleByteMappings();
  232.32      }
  232.33  }
   233.1 --- a/src/share/classes/sun/io/CharToByteJIS0201.java	Wed Jan 14 21:35:03 2009 -0800
   233.2 +++ b/src/share/classes/sun/io/CharToByteJIS0201.java	Tue Jan 20 09:42:07 2009 -0800
   233.3 @@ -1,5 +1,5 @@
   233.4  /*
   233.5 - * Copyright 1997-1998 Sun Microsystems, Inc.  All Rights Reserved.
   233.6 + * Copyright 1996-2008 Sun Microsystems, Inc.  All Rights Reserved.
   233.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   233.8   *
   233.9   * This code is free software; you can redistribute it and/or modify it
  233.10 @@ -29,6 +29,7 @@
  233.11   * Tables and data to convert Unicode to JIS0201
  233.12   *
  233.13   * @author  ConverterGenerator tool
  233.14 + * @version >= JDK1.1.6
  233.15   */
  233.16  
  233.17  class CharToByteJIS0201 extends CharToByteSingleByte {
  233.18 @@ -41,8 +42,21 @@
  233.19          super.mask1 = 0xFF00;
  233.20          super.mask2 = 0x00FF;
  233.21          super.shift = 8;
  233.22 +        /*
  233.23          super.index1 = index1;
  233.24          super.index2 = index2;
  233.25 +        */
  233.26 +    }
  233.27 +
  233.28 +    public byte getNative(char inputChar) {
  233.29 +        return (byte)index2.charAt(index1[(inputChar & mask1) >> shift]
  233.30 +                + (inputChar & mask2));
  233.31 +    }
  233.32 +
  233.33 +   public boolean canConvert(char ch) {
  233.34 +        if (index2.charAt(index1[((ch & mask1) >> shift)] + (ch & mask2)) != '\u0000')
  233.35 +            return true;
  233.36 +        return (ch == '\u0000');
  233.37      }
  233.38  
  233.39      private final static String index2 =
   234.1 --- a/src/share/classes/sun/io/CharToByteSingleByte.java	Wed Jan 14 21:35:03 2009 -0800
   234.2 +++ b/src/share/classes/sun/io/CharToByteSingleByte.java	Tue Jan 20 09:42:07 2009 -0800
   234.3 @@ -1,5 +1,5 @@
   234.4  /*
   234.5 - * Copyright 1996-2002 Sun Microsystems, Inc.  All Rights Reserved.
   234.6 + * Copyright 1996-2008 Sun Microsystems, Inc.  All Rights Reserved.
   234.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   234.8   *
   234.9   * This code is free software; you can redistribute it and/or modify it
  234.10 @@ -25,6 +25,8 @@
  234.11  
  234.12  package sun.io;
  234.13  
  234.14 +import static sun.nio.cs.CharsetMapping.*;
  234.15 +
  234.16  /**
  234.17  * A table driven conversion from char to byte for single byte
  234.18  * character sets.  Tables will reside in the class CharToByteYYYYY,
  234.19 @@ -35,6 +37,7 @@
  234.20  *
  234.21  * @author Lloyd Honomichl
  234.22  * @author Asmus Freytag
  234.23 +* @version 8/28/96
  234.24  */
  234.25  
  234.26  public abstract class CharToByteSingleByte extends CharToByteConverter {
  234.27 @@ -42,12 +45,12 @@
  234.28      /*
  234.29       * 1st level index, provided by subclass
  234.30       */
  234.31 -    protected short index1[];
  234.32 +    protected char[] index1;
  234.33  
  234.34      /*
  234.35       * 2nd level index, provided by subclass
  234.36       */
  234.37 -    protected String  index2;
  234.38 +    protected char[] index2;
  234.39  
  234.40      /*
  234.41       * Mask to isolate bits for 1st level index, from subclass
  234.42 @@ -66,11 +69,11 @@
  234.43  
  234.44      private char highHalfZoneCode;
  234.45  
  234.46 -    public short[] getIndex1() {
  234.47 +    public char[] getIndex1() {
  234.48          return index1;
  234.49      }
  234.50  
  234.51 -    public String getIndex2() {
  234.52 +    public char[] getIndex2() {
  234.53          return index2;
  234.54      }
  234.55      public int flush(byte[] output, int outStart, int outEnd)
  234.56 @@ -229,9 +232,18 @@
  234.57          return 1;
  234.58      }
  234.59  
  234.60 +    int encodeChar(char ch) {
  234.61 +        char index = index1[ch >> 8];
  234.62 +        if (index == UNMAPPABLE_ENCODING)
  234.63 +            return UNMAPPABLE_ENCODING;
  234.64 +        return index2[index + (ch & 0xff)];
  234.65 +    }
  234.66 +
  234.67      public byte getNative(char inputChar) {
  234.68 -        return (byte)index2.charAt(index1[(inputChar & mask1) >> shift]
  234.69 -                + (inputChar & mask2));
  234.70 +        int b = encodeChar(inputChar);
  234.71 +        if (b == UNMAPPABLE_ENCODING)
  234.72 +            return 0;
  234.73 +        return (byte)b;
  234.74      }
  234.75  
  234.76      /**
  234.77 @@ -248,11 +260,6 @@
  234.78       * @return true if a character is mappable
  234.79       */
  234.80      public boolean canConvert(char ch) {
  234.81 -        // Look it up in the table
  234.82 -        if (index2.charAt(index1[((ch & mask1) >> shift)] + (ch & mask2)) != '\u0000')
  234.83 -            return true;
  234.84 -
  234.85 -        // Nulls are always mappable
  234.86 -        return (ch == '\u0000');
  234.87 +        return encodeChar(ch) != UNMAPPABLE_ENCODING;
  234.88      }
  234.89  }
   235.1 --- a/src/share/classes/sun/java2d/SunGraphicsEnvironment.java	Wed Jan 14 21:35:03 2009 -0800
   235.2 +++ b/src/share/classes/sun/java2d/SunGraphicsEnvironment.java	Tue Jan 20 09:42:07 2009 -0800
   235.3 @@ -812,7 +812,9 @@
   235.4                  return(name.startsWith(".ttf", offset) ||
   235.5                         name.startsWith(".TTF", offset) ||
   235.6                         name.startsWith(".ttc", offset) ||
   235.7 -                       name.startsWith(".TTC", offset));
   235.8 +                       name.startsWith(".TTC", offset) ||
   235.9 +                       name.startsWith(".otf", offset) ||
  235.10 +                       name.startsWith(".OTF", offset));
  235.11              }
  235.12          }
  235.13      }
  235.14 @@ -835,31 +837,11 @@
  235.15          }
  235.16      }
  235.17  
  235.18 -     public static class TTorT1Filter implements FilenameFilter {
  235.19 -        public boolean accept(File dir, String name) {
  235.20 -
  235.21 -            /* all conveniently have the same suffix length */
  235.22 -            int offset = name.length()-4;
  235.23 -            if (offset <= 0) { /* must be at least A.ttf or A.pfa */
  235.24 -                return false;
  235.25 -            } else {
  235.26 -                boolean isTT =
  235.27 -                    name.startsWith(".ttf", offset) ||
  235.28 -                    name.startsWith(".TTF", offset) ||
  235.29 -                    name.startsWith(".ttc", offset) ||
  235.30 -                    name.startsWith(".TTC", offset);
  235.31 -                if (isTT) {
  235.32 -                    return true;
  235.33 -                } else if (noType1Font) {
  235.34 -                    return false;
  235.35 -                } else {
  235.36 -                    return(name.startsWith(".pfa", offset) ||
  235.37 -                           name.startsWith(".pfb", offset) ||
  235.38 -                           name.startsWith(".PFA", offset) ||
  235.39 -                           name.startsWith(".PFB", offset));
  235.40 -                }
  235.41 -            }
  235.42 -        }
  235.43 +    public static class TTorT1Filter implements FilenameFilter {
  235.44 +         public boolean accept(File dir, String name) {
  235.45 +             return SunGraphicsEnvironment.ttFilter.accept(dir, name) ||
  235.46 +                 SunGraphicsEnvironment.t1Filter.accept(dir, name);
  235.47 +         }
  235.48      }
  235.49  
  235.50      /* No need to keep consing up new instances - reuse a singleton.
  235.51 @@ -1290,6 +1272,13 @@
  235.52          displayChanger.notifyPaletteChanged();
  235.53      }
  235.54  
  235.55 +    /**
  235.56 +     * Returns true when the display is local, false for remote displays.
  235.57 +     *
  235.58 +     * @return true when the display is local, false for remote displays
  235.59 +     */
  235.60 +    public abstract boolean isDisplayLocal();
  235.61 +
  235.62      /*
  235.63       * ----DISPLAY CHANGE SUPPORT----
  235.64       */
   236.1 --- a/src/share/classes/sun/java2d/SurfaceData.java	Wed Jan 14 21:35:03 2009 -0800
   236.2 +++ b/src/share/classes/sun/java2d/SurfaceData.java	Tue Jan 20 09:42:07 2009 -0800
   236.3 @@ -449,7 +449,8 @@
   236.4          // For now the answer can only be true in the following cases:
   236.5          if (sg2d.compositeState <= SunGraphics2D.COMP_ISCOPY &&
   236.6              sg2d.paintState <= SunGraphics2D.PAINT_ALPHACOLOR &&
   236.7 -            sg2d.clipState <= SunGraphics2D.CLIP_RECTANGULAR)
   236.8 +            sg2d.clipState <= SunGraphics2D.CLIP_RECTANGULAR &&
   236.9 +            sg2d.surfaceData.getTransparency() == Transparency.OPAQUE)
  236.10          {
  236.11              if (haveLCDLoop == LCDLOOP_UNKNOWN) {
  236.12                  DrawGlyphListLCD loop =
   237.1 --- a/src/share/classes/sun/java2d/opengl/OGLBlitLoops.java	Wed Jan 14 21:35:03 2009 -0800
   237.2 +++ b/src/share/classes/sun/java2d/opengl/OGLBlitLoops.java	Tue Jan 20 09:42:07 2009 -0800
   237.3 @@ -25,17 +25,13 @@
   237.4  
   237.5  package sun.java2d.opengl;
   237.6  
   237.7 -import java.awt.AlphaComposite;
   237.8 -import java.awt.Color;
   237.9  import java.awt.Composite;
  237.10  import java.awt.Transparency;
  237.11  import java.awt.geom.AffineTransform;
  237.12  import java.awt.image.AffineTransformOp;
  237.13  import java.awt.image.BufferedImage;
  237.14  import java.awt.image.BufferedImageOp;
  237.15 -import java.awt.image.ColorModel;
  237.16  import java.lang.ref.WeakReference;
  237.17 -import sun.awt.image.BufImgSurfaceData;
  237.18  import sun.java2d.SurfaceData;
  237.19  import sun.java2d.loops.Blit;
  237.20  import sun.java2d.loops.CompositeType;
  237.21 @@ -84,6 +80,8 @@
  237.22                                     OGLSurfaceData.PF_INT_BGR),
  237.23              new OGLSwToSurfaceBlit(SurfaceType.IntBgrx,
  237.24                                     OGLSurfaceData.PF_INT_BGRX),
  237.25 +            new OGLSwToSurfaceBlit(SurfaceType.ThreeByteBgr,
  237.26 +                                   OGLSurfaceData.PF_3BYTE_BGR),
  237.27              new OGLSwToSurfaceBlit(SurfaceType.Ushort565Rgb,
  237.28                                     OGLSurfaceData.PF_USHORT_565_RGB),
  237.29              new OGLSwToSurfaceBlit(SurfaceType.Ushort555Rgb,
  237.30 @@ -106,6 +104,8 @@
  237.31                                      OGLSurfaceData.PF_INT_BGR),
  237.32              new OGLSwToSurfaceScale(SurfaceType.IntBgrx,
  237.33                                      OGLSurfaceData.PF_INT_BGRX),
  237.34 +            new OGLSwToSurfaceScale(SurfaceType.ThreeByteBgr,
  237.35 +                                    OGLSurfaceData.PF_3BYTE_BGR),
  237.36              new OGLSwToSurfaceScale(SurfaceType.Ushort565Rgb,
  237.37                                      OGLSurfaceData.PF_USHORT_565_RGB),
  237.38              new OGLSwToSurfaceScale(SurfaceType.Ushort555Rgb,
  237.39 @@ -127,6 +127,8 @@
  237.40                                          OGLSurfaceData.PF_INT_BGR),
  237.41              new OGLSwToSurfaceTransform(SurfaceType.IntBgrx,
  237.42                                          OGLSurfaceData.PF_INT_BGRX),
  237.43 +            new OGLSwToSurfaceTransform(SurfaceType.ThreeByteBgr,
  237.44 +                                        OGLSurfaceData.PF_3BYTE_BGR),
  237.45              new OGLSwToSurfaceTransform(SurfaceType.Ushort565Rgb,
  237.46                                          OGLSurfaceData.PF_USHORT_565_RGB),
  237.47              new OGLSwToSurfaceTransform(SurfaceType.Ushort555Rgb,
  237.48 @@ -155,6 +157,8 @@
  237.49                                     OGLSurfaceData.PF_INT_BGR),
  237.50              new OGLSwToTextureBlit(SurfaceType.IntBgrx,
  237.51                                     OGLSurfaceData.PF_INT_BGRX),
  237.52 +            new OGLSwToTextureBlit(SurfaceType.ThreeByteBgr,
  237.53 +                                   OGLSurfaceData.PF_3BYTE_BGR),
  237.54              new OGLSwToTextureBlit(SurfaceType.Ushort565Rgb,
  237.55                                     OGLSurfaceData.PF_USHORT_565_RGB),
  237.56              new OGLSwToTextureBlit(SurfaceType.Ushort555Rgb,
   238.1 --- a/src/share/classes/sun/java2d/opengl/OGLSurfaceData.java	Wed Jan 14 21:35:03 2009 -0800
   238.2 +++ b/src/share/classes/sun/java2d/opengl/OGLSurfaceData.java	Tue Jan 20 09:42:07 2009 -0800
   238.3 @@ -120,6 +120,7 @@
   238.4      public static final int PF_USHORT_555_RGBX = 8;
   238.5      public static final int PF_BYTE_GRAY       = 9;
   238.6      public static final int PF_USHORT_GRAY     = 10;
   238.7 +    public static final int PF_3BYTE_BGR       = 11;
   238.8  
   238.9      /**
  238.10       * SurfaceTypes
  238.11 @@ -401,6 +402,7 @@
  238.12       *   - the fragment shader extension is available, and
  238.13       *   - blending is disabled, and
  238.14       *   - the source color is opaque
  238.15 +     *   - and the destination is opaque
  238.16       *
  238.17       * Eventually, we could enhance the native OGL text rendering code
  238.18       * and remove the above restrictions, but that would require significantly
  238.19 @@ -410,7 +412,8 @@
  238.20          return
  238.21              graphicsConfig.isCapPresent(CAPS_EXT_LCD_SHADER) &&
  238.22              sg2d.compositeState <= SunGraphics2D.COMP_ISCOPY &&
  238.23 -            sg2d.paintState <= SunGraphics2D.PAINT_OPAQUECOLOR;
  238.24 +            sg2d.paintState <= SunGraphics2D.PAINT_OPAQUECOLOR &&
  238.25 +            sg2d.surfaceData.getTransparency() == Transparency.OPAQUE;
  238.26      }
  238.27  
  238.28      public void validatePipe(SunGraphics2D sg2d) {
   239.1 --- a/src/share/classes/sun/java2d/pipe/BufferedContext.java	Wed Jan 14 21:35:03 2009 -0800
   239.2 +++ b/src/share/classes/sun/java2d/pipe/BufferedContext.java	Tue Jan 20 09:42:07 2009 -0800
   239.3 @@ -90,7 +90,8 @@
   239.4      private Region          validatedClip;
   239.5      private Composite       validatedComp;
   239.6      private Paint           validatedPaint;
   239.7 -    private boolean         isValidatedPaintAColor;
   239.8 +    // renamed from isValidatedPaintAColor as part of a work around for 6764257
   239.9 +    private boolean         isValidatedPaintJustAColor;
  239.10      private int             validatedRGB;
  239.11      private int             validatedFlags;
  239.12      private boolean         xformInUse;
  239.13 @@ -182,7 +183,7 @@
  239.14          if (paint instanceof Color) {
  239.15              // REMIND: not 30-bit friendly
  239.16              int newRGB = ((Color)paint).getRGB();
  239.17 -            if (isValidatedPaintAColor) {
  239.18 +            if (isValidatedPaintJustAColor) {
  239.19                  if (newRGB != validatedRGB) {
  239.20                      validatedRGB = newRGB;
  239.21                      updatePaint = true;
  239.22 @@ -190,13 +191,13 @@
  239.23              } else {
  239.24                  validatedRGB = newRGB;
  239.25                  updatePaint = true;
  239.26 -                isValidatedPaintAColor = true;
  239.27 +                isValidatedPaintJustAColor = true;
  239.28              }
  239.29          } else if (validatedPaint != paint) {
  239.30              updatePaint = true;
  239.31              // this should be set when we are switching from paint to color
  239.32              // in which case this condition will be true
  239.33 -            isValidatedPaintAColor = false;
  239.34 +            isValidatedPaintJustAColor = false;
  239.35          }
  239.36  
  239.37          if ((currentContext != this) ||
  239.38 @@ -281,7 +282,7 @@
  239.39              txChanged = true;
  239.40          }
  239.41          // non-Color paints may require paint revalidation
  239.42 -        if (!isValidatedPaintAColor && txChanged) {
  239.43 +        if (!isValidatedPaintJustAColor && txChanged) {
  239.44              updatePaint = true;
  239.45          }
  239.46  
  239.47 @@ -427,10 +428,12 @@
  239.48          resetTransform();
  239.49          resetComposite();
  239.50          resetClip();
  239.51 +        BufferedPaints.resetPaint(rq);
  239.52          invalidateSurfaces();
  239.53          validatedComp = null;
  239.54          validatedClip = null;
  239.55          validatedPaint = null;
  239.56 +        isValidatedPaintJustAColor = false;
  239.57          xformInUse = false;
  239.58      }
  239.59  
   240.1 --- a/src/share/classes/sun/nio/cs/IBM437.java	Wed Jan 14 21:35:03 2009 -0800
   240.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   240.3 @@ -1,368 +0,0 @@
   240.4 -/*
   240.5 - * Copyright 2003-2005 Sun Microsystems, Inc.  All Rights Reserved.
   240.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   240.7 - *
   240.8 - * This code is free software; you can redistribute it and/or modify it
   240.9 - * under the terms of the GNU General Public License version 2 only, as
  240.10 - * published by the Free Software Foundation.  Sun designates this
  240.11 - * particular file as subject to the "Classpath" exception as provided
  240.12 - * by Sun in the LICENSE file that accompanied this code.
  240.13 - *
  240.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  240.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  240.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  240.17 - * version 2 for more details (a copy is included in the LICENSE file that
  240.18 - * accompanied this code).
  240.19 - *
  240.20 - * You should have received a copy of the GNU General Public License version
  240.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  240.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  240.23 - *
  240.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  240.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  240.26 - * have any questions.
  240.27 - */
  240.28 -
  240.29 -package sun.nio.cs;
  240.30 -
  240.31 -
  240.32 -import java.nio.charset.Charset;
  240.33 -import java.nio.charset.CharsetDecoder;
  240.34 -import java.nio.charset.CharsetEncoder;
  240.35 -import sun.nio.cs.StandardCharsets;
  240.36 -import sun.nio.cs.SingleByteDecoder;
  240.37 -import sun.nio.cs.SingleByteEncoder;
  240.38 -import sun.nio.cs.HistoricallyNamedCharset;
  240.39 -
  240.40 -public class IBM437
  240.41 -    extends Charset
  240.42 -    implements HistoricallyNamedCharset
  240.43 -{
  240.44 -
  240.45 -    public IBM437() {
  240.46 -        super("IBM437", StandardCharsets.aliases_IBM437);
  240.47 -    }
  240.48 -
  240.49 -    public String historicalName() {
  240.50 -        return "Cp437";
  240.51 -    }
  240.52 -
  240.53 -    public boolean contains(Charset cs) {
  240.54 -        return (cs instanceof IBM437);
  240.55 -    }
  240.56 -
  240.57 -    public CharsetDecoder newDecoder() {
  240.58 -        return new Decoder(this);
  240.59 -    }
  240.60 -
  240.61 -    public CharsetEncoder newEncoder() {
  240.62 -        return new Encoder(this);
  240.63 -    }
  240.64 -
  240.65 -
  240.66 -    /**
  240.67 -     * These accessors are temporarily supplied while sun.io
  240.68 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  240.69 -     * These facilitate sharing of conversion tables between the
  240.70 -     * two co-existing implementations. When sun.io converters
  240.71 -     * are made extinct these will be unncessary and should be removed
  240.72 -     */
  240.73 -
  240.74 -    public String getDecoderSingleByteMappings() {
  240.75 -        return Decoder.byteToCharTable;
  240.76 -
  240.77 -    }
  240.78 -
  240.79 -    public short[] getEncoderIndex1() {
  240.80 -        return Encoder.index1;
  240.81 -
  240.82 -    }
  240.83 -    public String getEncoderIndex2() {
  240.84 -        return Encoder.index2;
  240.85 -
  240.86 -    }
  240.87 -
  240.88 -    private static class Decoder extends SingleByteDecoder {
  240.89 -            public Decoder(Charset cs) {
  240.90 -                super(cs, byteToCharTable);
  240.91 -        }
  240.92 -
  240.93 -        private final static String byteToCharTable =
  240.94 -
  240.95 -            "\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7" +     // 0x80 - 0x87
  240.96 -            "\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5" +     // 0x88 - 0x8F
  240.97 -            "\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9" +     // 0x90 - 0x97
  240.98 -            "\u00FF\u00D6\u00DC\u00A2\u00A3\u00A5\u20A7\u0192" +     // 0x98 - 0x9F
  240.99 -            "\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA" +     // 0xA0 - 0xA7
 240.100 -            "\u00BF\u2310\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB" +     // 0xA8 - 0xAF
 240.101 -            "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" +     // 0xB0 - 0xB7
 240.102 -            "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" +     // 0xB8 - 0xBF
 240.103 -            "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" +     // 0xC0 - 0xC7
 240.104 -            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" +     // 0xC8 - 0xCF
 240.105 -            "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" +     // 0xD0 - 0xD7
 240.106 -            "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" +     // 0xD8 - 0xDF
 240.107 -            "\u03B1\u00DF\u0393\u03C0\u03A3\u03C3\u00B5\u03C4" +     // 0xE0 - 0xE7
 240.108 -            "\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229" +     // 0xE8 - 0xEF
 240.109 -            "\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248" +     // 0xF0 - 0xF7
 240.110 -            "\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0" +     // 0xF8 - 0xFF
 240.111 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 240.112 -            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 240.113 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 240.114 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 240.115 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 240.116 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 240.117 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 240.118 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 240.119 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 240.120 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 240.121 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 240.122 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 240.123 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 240.124 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 240.125 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 240.126 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 240.127 -
 240.128 -    }
 240.129 -
 240.130 -    private static class Encoder extends SingleByteEncoder {
 240.131 -            public Encoder(Charset cs) {
 240.132 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 240.133 -            }
 240.134 -
 240.135 -            private final static String index2 =
 240.136 -
 240.137 -
 240.138 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 240.139 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 240.140 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 240.141 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 240.142 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 240.143 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 240.144 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 240.145 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 240.146 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 240.147 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 240.148 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 240.149 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 240.150 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 240.151 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 240.152 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 240.153 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 240.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.158 -            "\u00FF\u00AD\u009B\u009C\u0000\u009D\u0000\u0000" +
 240.159 -            "\u0000\u0000\u00A6\u00AE\u00AA\u0000\u0000\u0000" +
 240.160 -            "\u00F8\u00F1\u00FD\u0000\u0000\u00E6\u0000\u00FA" +
 240.161 -            "\u0000\u0000\u00A7\u00AF\u00AC\u00AB\u0000\u00A8" +
 240.162 -            "\u0000\u0000\u0000\u0000\u008E\u008F\u0092\u0080" +
 240.163 -            "\u0000\u0090\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.164 -            "\u0000\u00A5\u0000\u0000\u0000\u0000\u0099\u0000" +
 240.165 -            "\u0000\u0000\u0000\u0000\u009A\u0000\u0000\u00E1" +
 240.166 -            "\u0085\u00A0\u0083\u0000\u0084\u0086\u0091\u0087" +
 240.167 -            "\u008A\u0082\u0088\u0089\u008D\u00A1\u008C\u008B" +
 240.168 -            "\u0000\u00A4\u0095\u00A2\u0093\u0000\u0094\u00F6" +
 240.169 -            "\u0000\u0097\u00A3\u0096\u0081\u0000\u0000\u0098" +
 240.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.188 -            "\u0000\u0000\u009F\u0000\u0000\u0000\u0000\u0000" +
 240.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.220 -            "\u0000\u0000\u0000\u00E2\u0000\u0000\u0000\u0000" +
 240.221 -            "\u00E9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.222 -            "\u0000\u0000\u0000\u00E4\u0000\u0000\u00E8\u0000" +
 240.223 -            "\u0000\u00EA\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.224 -            "\u0000\u00E0\u0000\u0000\u00EB\u00EE\u0000\u0000" +
 240.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.226 -            "\u00E3\u0000\u0000\u00E5\u00E7\u0000\u00ED\u0000" +
 240.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00FC\u0000" +
 240.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u009E\u0000" +
 240.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F9" +
 240.259 -            "\u00FB\u0000\u0000\u0000\u00EC\u0000\u0000\u0000" +
 240.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00EF" +
 240.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F7\u0000" +
 240.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F0" +
 240.268 -            "\u0000\u0000\u00F3\u00F2\u0000\u0000\u0000\u0000" +
 240.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.286 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00A9\u0000" +
 240.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F4\u00F5" +
 240.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.307 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.308 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.309 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.310 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.311 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.312 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.313 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.314 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.315 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.316 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.317 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00C4\u0000" +
 240.318 -            "\u00B3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.319 -            "\u0000\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000" +
 240.320 -            "\u0000\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000" +
 240.321 -            "\u0000\u0000\u00C3\u0000\u0000\u0000\u0000\u0000" +
 240.322 -            "\u0000\u0000\u00B4\u0000\u0000\u0000\u0000\u0000" +
 240.323 -            "\u0000\u0000\u00C2\u0000\u0000\u0000\u0000\u0000" +
 240.324 -            "\u0000\u0000\u00C1\u0000\u0000\u0000\u0000\u0000" +
 240.325 -            "\u0000\u0000\u00C5\u0000\u0000\u0000\u0000\u0000" +
 240.326 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.327 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA" +
 240.328 -            "\u00D5\u00D6\u00C9\u00B8\u00B7\u00BB\u00D4\u00D3" +
 240.329 -            "\u00C8\u00BE\u00BD\u00BC\u00C6\u00C7\u00CC\u00B5" +
 240.330 -            "\u00B6\u00B9\u00D1\u00D2\u00CB\u00CF\u00D0\u00CA" +
 240.331 -            "\u00D8\u00D7\u00CE\u0000\u0000\u0000\u0000\u0000" +
 240.332 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.333 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00DF\u0000" +
 240.334 -            "\u0000\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000" +
 240.335 -            "\u0000\u0000\u00DD\u0000\u0000\u0000\u00DE\u00B0" +
 240.336 -            "\u00B1\u00B2\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.337 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00FE\u0000" +
 240.338 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.339 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.340 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.341 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.342 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.343 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.344 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.345 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.346 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.347 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.348 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 240.349 -            "\u0000\u0000\u0000\u0000\u0000\u0000";
 240.350 -
 240.351 -    private final static short index1[] = {
 240.352 -            0, 256, 403, 512, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 240.353 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 240.354 -            711, 403, 942, 1182, 403, 1438, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 240.355 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 240.356 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 240.357 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 240.358 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 240.359 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 240.360 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 240.361 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 240.362 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 240.363 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 240.364 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 240.365 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 240.366 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 240.367 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 240.368 -
 240.369 -        };
 240.370 -    }
 240.371 -}
   241.1 --- a/src/share/classes/sun/nio/cs/IBM737.java	Wed Jan 14 21:35:03 2009 -0800
   241.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   241.3 @@ -1,321 +0,0 @@
   241.4 -/*
   241.5 - * Copyright 2003-2005 Sun Microsystems, Inc.  All Rights Reserved.
   241.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   241.7 - *
   241.8 - * This code is free software; you can redistribute it and/or modify it
   241.9 - * under the terms of the GNU General Public License version 2 only, as
  241.10 - * published by the Free Software Foundation.  Sun designates this
  241.11 - * particular file as subject to the "Classpath" exception as provided
  241.12 - * by Sun in the LICENSE file that accompanied this code.
  241.13 - *
  241.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  241.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  241.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  241.17 - * version 2 for more details (a copy is included in the LICENSE file that
  241.18 - * accompanied this code).
  241.19 - *
  241.20 - * You should have received a copy of the GNU General Public License version
  241.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  241.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  241.23 - *
  241.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  241.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  241.26 - * have any questions.
  241.27 - */
  241.28 -
  241.29 -package sun.nio.cs;
  241.30 -
  241.31 -
  241.32 -import java.nio.charset.Charset;
  241.33 -import java.nio.charset.CharsetDecoder;
  241.34 -import java.nio.charset.CharsetEncoder;
  241.35 -import sun.nio.cs.StandardCharsets;
  241.36 -import sun.nio.cs.SingleByteDecoder;
  241.37 -import sun.nio.cs.SingleByteEncoder;
  241.38 -import sun.nio.cs.HistoricallyNamedCharset;
  241.39 -
  241.40 -public class IBM737
  241.41 -    extends Charset
  241.42 -    implements HistoricallyNamedCharset
  241.43 -{
  241.44 -
  241.45 -    public IBM737() {
  241.46 -        super("x-IBM737", StandardCharsets.aliases_IBM737);
  241.47 -    }
  241.48 -
  241.49 -    public String historicalName() {
  241.50 -        return "Cp737";
  241.51 -    }
  241.52 -
  241.53 -    public boolean contains(Charset cs) {
  241.54 -        return (cs instanceof IBM737);
  241.55 -    }
  241.56 -
  241.57 -    public CharsetDecoder newDecoder() {
  241.58 -        return new Decoder(this);
  241.59 -    }
  241.60 -
  241.61 -    public CharsetEncoder newEncoder() {
  241.62 -        return new Encoder(this);
  241.63 -    }
  241.64 -
  241.65 -
  241.66 -    /**
  241.67 -     * These accessors are temporarily supplied while sun.io
  241.68 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  241.69 -     * These facilitate sharing of conversion tables between the
  241.70 -     * two co-existing implementations. When sun.io converters
  241.71 -     * are made extinct these will be unncessary and should be removed
  241.72 -     */
  241.73 -
  241.74 -    public String getDecoderSingleByteMappings() {
  241.75 -        return Decoder.byteToCharTable;
  241.76 -
  241.77 -    }
  241.78 -
  241.79 -    public short[] getEncoderIndex1() {
  241.80 -        return Encoder.index1;
  241.81 -
  241.82 -    }
  241.83 -    public String getEncoderIndex2() {
  241.84 -        return Encoder.index2;
  241.85 -
  241.86 -    }
  241.87 -
  241.88 -    private static class Decoder extends SingleByteDecoder {
  241.89 -            public Decoder(Charset cs) {
  241.90 -                super(cs, byteToCharTable);
  241.91 -        }
  241.92 -
  241.93 -        private final static String byteToCharTable =
  241.94 -
  241.95 -            "\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398" +        // 0x80 - 0x87
  241.96 -            "\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0" +        // 0x88 - 0x8F
  241.97 -            "\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9" +        // 0x90 - 0x97
  241.98 -            "\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8" +        // 0x98 - 0x9F
  241.99 -            "\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0" +        // 0xA0 - 0xA7
 241.100 -            "\u03C1\u03C3\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8" +        // 0xA8 - 0xAF
 241.101 -            "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" +        // 0xB0 - 0xB7
 241.102 -            "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" +        // 0xB8 - 0xBF
 241.103 -            "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" +        // 0xC0 - 0xC7
 241.104 -            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" +        // 0xC8 - 0xCF
 241.105 -            "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" +        // 0xD0 - 0xD7
 241.106 -            "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" +        // 0xD8 - 0xDF
 241.107 -            "\u03C9\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD" +        // 0xE0 - 0xE7
 241.108 -            "\u03CB\u03CE\u0386\u0388\u0389\u038A\u038C\u038E" +        // 0xE8 - 0xEF
 241.109 -            "\u038F\u00B1\u2265\u2264\u03AA\u03AB\u00F7\u2248" +        // 0xF0 - 0xF7
 241.110 -            "\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0" +        // 0xF8 - 0xFF
 241.111 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 241.112 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 241.113 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 241.114 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 241.115 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 241.116 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 241.117 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 241.118 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 241.119 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 241.120 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 241.121 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 241.122 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 241.123 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 241.124 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 241.125 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 241.126 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 241.127 -
 241.128 -    }
 241.129 -
 241.130 -    private static class Encoder extends SingleByteEncoder {
 241.131 -            public Encoder(Charset cs) {
 241.132 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 241.133 -            }
 241.134 -
 241.135 -            private final static String index2 =
 241.136 -
 241.137 -
 241.138 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 241.139 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 241.140 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 241.141 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 241.142 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 241.143 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 241.144 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 241.145 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 241.146 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 241.147 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 241.148 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 241.149 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 241.150 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 241.151 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 241.152 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 241.153 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 241.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.158 -            "\u00FF\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.160 -            "\u00F8\u00F1\u00FD\u0000\u0000\u0000\u0000\u00FA" +
 241.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.162 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F6" +
 241.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.201 -            "\u00EA\u0000\u00EB\u00EC\u00ED\u0000\u00EE\u0000" +
 241.202 -            "\u00EF\u00F0\u0000\u0080\u0081\u0082\u0083\u0084" +
 241.203 -            "\u0085\u0086\u0087\u0088\u0089\u008A\u008B\u008C" +
 241.204 -            "\u008D\u008E\u008F\u0090\u0000\u0091\u0092\u0093" +
 241.205 -            "\u0094\u0095\u0096\u0097\u00F4\u00F5\u00E1\u00E2" +
 241.206 -            "\u00E3\u00E5\u0000\u0098\u0099\u009A\u009B\u009C" +
 241.207 -            "\u009D\u009E\u009F\u00A0\u00A1\u00A2\u00A3\u00A4" +
 241.208 -            "\u00A5\u00A6\u00A7\u00A8\u00AA\u00A9\u00AB\u00AC" +
 241.209 -            "\u00AD\u00AE\u00AF\u00E0\u00E4\u00E8\u00E6\u00E7" +
 241.210 -            "\u00E9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.226 -            "\u00FC\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.242 -            "\u0000\u00F9\u00FB\u0000\u0000\u0000\u0000\u0000" +
 241.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.248 -            "\u00F7\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.251 -            "\u0000\u0000\u0000\u0000\u00F3\u00F2\u0000\u0000" +
 241.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.271 -            "\u00C4\u0000\u00B3\u0000\u0000\u0000\u0000\u0000" +
 241.272 -            "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" +
 241.273 -            "\u00BF\u0000\u0000\u0000\u00C0\u0000\u0000\u0000" +
 241.274 -            "\u00D9\u0000\u0000\u0000\u00C3\u0000\u0000\u0000" +
 241.275 -            "\u0000\u0000\u0000\u0000\u00B4\u0000\u0000\u0000" +
 241.276 -            "\u0000\u0000\u0000\u0000\u00C2\u0000\u0000\u0000" +
 241.277 -            "\u0000\u0000\u0000\u0000\u00C1\u0000\u0000\u0000" +
 241.278 -            "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" +
 241.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.281 -            "\u00CD\u00BA\u00D5\u00D6\u00C9\u00B8\u00B7\u00BB" +
 241.282 -            "\u00D4\u00D3\u00C8\u00BE\u00BD\u00BC\u00C6\u00C7" +
 241.283 -            "\u00CC\u00B5\u00B6\u00B9\u00D1\u00D2\u00CB\u00CF" +
 241.284 -            "\u00D0\u00CA\u00D8\u00D7\u00CE\u0000\u0000\u0000" +
 241.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.286 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.287 -            "\u00DF\u0000\u0000\u0000\u00DC\u0000\u0000\u0000" +
 241.288 -            "\u00DB\u0000\u0000\u0000\u00DD\u0000\u0000\u0000" +
 241.289 -            "\u00DE\u00B0\u00B1\u00B2\u0000\u0000\u0000\u0000" +
 241.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.291 -            "\u00FE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 241.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 241.303 -
 241.304 -    private final static short index1[] = {
 241.305 -            0, 248, 248, 370, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 241.306 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 241.307 -            577, 248, 808, 248, 248, 1064, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 241.308 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 241.309 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 241.310 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 241.311 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 241.312 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 241.313 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 241.314 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 241.315 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 241.316 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 241.317 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 241.318 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 241.319 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 241.320 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 241.321 -
 241.322 -        };
 241.323 -    }
 241.324 -}
   242.1 --- a/src/share/classes/sun/nio/cs/IBM775.java	Wed Jan 14 21:35:03 2009 -0800
   242.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   242.3 @@ -1,326 +0,0 @@
   242.4 -/*
   242.5 - * Copyright 2003-2005 Sun Microsystems, Inc.  All Rights Reserved.
   242.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   242.7 - *
   242.8 - * This code is free software; you can redistribute it and/or modify it
   242.9 - * under the terms of the GNU General Public License version 2 only, as
  242.10 - * published by the Free Software Foundation.  Sun designates this
  242.11 - * particular file as subject to the "Classpath" exception as provided
  242.12 - * by Sun in the LICENSE file that accompanied this code.
  242.13 - *
  242.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  242.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  242.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  242.17 - * version 2 for more details (a copy is included in the LICENSE file that
  242.18 - * accompanied this code).
  242.19 - *
  242.20 - * You should have received a copy of the GNU General Public License version
  242.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  242.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  242.23 - *
  242.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  242.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  242.26 - * have any questions.
  242.27 - */
  242.28 -
  242.29 -package sun.nio.cs;
  242.30 -
  242.31 -
  242.32 -import java.nio.charset.Charset;
  242.33 -import java.nio.charset.CharsetDecoder;
  242.34 -import java.nio.charset.CharsetEncoder;
  242.35 -import sun.nio.cs.StandardCharsets;
  242.36 -import sun.nio.cs.SingleByteDecoder;
  242.37 -import sun.nio.cs.SingleByteEncoder;
  242.38 -import sun.nio.cs.HistoricallyNamedCharset;
  242.39 -
  242.40 -public class IBM775
  242.41 -    extends Charset
  242.42 -    implements HistoricallyNamedCharset
  242.43 -{
  242.44 -
  242.45 -    public IBM775() {
  242.46 -        super("IBM775", StandardCharsets.aliases_IBM775);
  242.47 -    }
  242.48 -
  242.49 -    public String historicalName() {
  242.50 -        return "Cp775";
  242.51 -    }
  242.52 -
  242.53 -    public boolean contains(Charset cs) {
  242.54 -        return (cs instanceof IBM775);
  242.55 -    }
  242.56 -
  242.57 -    public CharsetDecoder newDecoder() {
  242.58 -        return new Decoder(this);
  242.59 -    }
  242.60 -
  242.61 -    public CharsetEncoder newEncoder() {
  242.62 -        return new Encoder(this);
  242.63 -    }
  242.64 -
  242.65 -
  242.66 -    /**
  242.67 -     * These accessors are temporarily supplied while sun.io
  242.68 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  242.69 -     * These facilitate sharing of conversion tables between the
  242.70 -     * two co-existing implementations. When sun.io converters
  242.71 -     * are made extinct these will be unncessary and should be removed
  242.72 -     */
  242.73 -
  242.74 -    public String getDecoderSingleByteMappings() {
  242.75 -        return Decoder.byteToCharTable;
  242.76 -
  242.77 -    }
  242.78 -
  242.79 -    public short[] getEncoderIndex1() {
  242.80 -        return Encoder.index1;
  242.81 -
  242.82 -    }
  242.83 -    public String getEncoderIndex2() {
  242.84 -        return Encoder.index2;
  242.85 -
  242.86 -    }
  242.87 -
  242.88 -    private static class Decoder extends SingleByteDecoder {
  242.89 -            public Decoder(Charset cs) {
  242.90 -                super(cs, byteToCharTable);
  242.91 -        }
  242.92 -
  242.93 -        private final static String byteToCharTable =
  242.94 -
  242.95 -            "\u0106\u00FC\u00E9\u0101\u00E4\u0123\u00E5\u0107" +        // 0x80 - 0x87
  242.96 -            "\u0142\u0113\u0156\u0157\u012B\u0179\u00C4\u00C5" +        // 0x88 - 0x8F
  242.97 -            "\u00C9\u00E6\u00C6\u014D\u00F6\u0122\u00A2\u015A" +        // 0x90 - 0x97
  242.98 -            "\u015B\u00D6\u00DC\u00F8\u00A3\u00D8\u00D7\u00A4" +        // 0x98 - 0x9F
  242.99 -            "\u0100\u012A\u00F3\u017B\u017C\u017A\u201D\u00A6" +        // 0xA0 - 0xA7
 242.100 -            "\u00A9\u00AE\u00AC\u00BD\u00BC\u0141\u00AB\u00BB" +        // 0xA8 - 0xAF
 242.101 -            "\u2591\u2592\u2593\u2502\u2524\u0104\u010C\u0118" +        // 0xB0 - 0xB7
 242.102 -            "\u0116\u2563\u2551\u2557\u255D\u012E\u0160\u2510" +        // 0xB8 - 0xBF
 242.103 -            "\u2514\u2534\u252C\u251C\u2500\u253C\u0172\u016A" +        // 0xC0 - 0xC7
 242.104 -            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u017D" +        // 0xC8 - 0xCF
 242.105 -            "\u0105\u010D\u0119\u0117\u012F\u0161\u0173\u016B" +        // 0xD0 - 0xD7
 242.106 -            "\u017E\u2518\u250C\u2588\u2584\u258C\u2590\u2580" +        // 0xD8 - 0xDF
 242.107 -            "\u00D3\u00DF\u014C\u0143\u00F5\u00D5\u00B5\u0144" +        // 0xE0 - 0xE7
 242.108 -            "\u0136\u0137\u013B\u013C\u0146\u0112\u0145\u2019" +        // 0xE8 - 0xEF
 242.109 -            "\u00AD\u00B1\u201C\u00BE\u00B6\u00A7\u00F7\u201E" +        // 0xF0 - 0xF7
 242.110 -            "\u00B0\u2219\u00B7\u00B9\u00B3\u00B2\u25A0\u00A0" +        // 0xF8 - 0xFF
 242.111 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 242.112 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 242.113 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 242.114 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 242.115 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 242.116 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 242.117 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 242.118 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 242.119 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 242.120 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 242.121 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 242.122 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 242.123 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 242.124 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 242.125 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 242.126 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 242.127 -
 242.128 -    }
 242.129 -
 242.130 -    private static class Encoder extends SingleByteEncoder {
 242.131 -            public Encoder(Charset cs) {
 242.132 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 242.133 -            }
 242.134 -
 242.135 -            private final static String index2 =
 242.136 -
 242.137 -
 242.138 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 242.139 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 242.140 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 242.141 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 242.142 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 242.143 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 242.144 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 242.145 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 242.146 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 242.147 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 242.148 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 242.149 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 242.150 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 242.151 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 242.152 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 242.153 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 242.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.158 -            "\u00FF\u0000\u0096\u009C\u009F\u0000\u00A7\u00F5" +
 242.159 -            "\u0000\u00A8\u0000\u00AE\u00AA\u00F0\u00A9\u0000" +
 242.160 -            "\u00F8\u00F1\u00FD\u00FC\u0000\u00E6\u00F4\u00FA" +
 242.161 -            "\u0000\u00FB\u0000\u00AF\u00AC\u00AB\u00F3\u0000" +
 242.162 -            "\u0000\u0000\u0000\u0000\u008E\u008F\u0092\u0000" +
 242.163 -            "\u0000\u0090\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.164 -            "\u0000\u0000\u0000\u00E0\u0000\u00E5\u0099\u009E" +
 242.165 -            "\u009D\u0000\u0000\u0000\u009A\u0000\u0000\u00E1" +
 242.166 -            "\u0000\u0000\u0000\u0000\u0084\u0086\u0091\u0000" +
 242.167 -            "\u0000\u0082\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.168 -            "\u0000\u0000\u0000\u00A2\u0000\u00E4\u0094\u00F6" +
 242.169 -            "\u009B\u0000\u0000\u0000\u0081\u0000\u0000\u0000" +
 242.170 -            "\u00A0\u0083\u0000\u0000\u00B5\u00D0\u0080\u0087" +
 242.171 -            "\u0000\u0000\u0000\u0000\u00B6\u00D1\u0000\u0000" +
 242.172 -            "\u0000\u0000\u00ED\u0089\u0000\u0000\u00B8\u00D3" +
 242.173 -            "\u00B7\u00D2\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.174 -            "\u0000\u0000\u0095\u0085\u0000\u0000\u0000\u0000" +
 242.175 -            "\u0000\u0000\u00A1\u008C\u0000\u0000\u00BD\u00D4" +
 242.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00E8\u00E9" +
 242.177 -            "\u0000\u0000\u0000\u00EA\u00EB\u0000\u0000\u0000" +
 242.178 -            "\u0000\u00AD\u0088\u00E3\u00E7\u00EE\u00EC\u0000" +
 242.179 -            "\u0000\u0000\u0000\u0000\u00E2\u0093\u0000\u0000" +
 242.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u008A\u008B" +
 242.181 -            "\u0000\u0000\u0097\u0098\u0000\u0000\u0000\u0000" +
 242.182 -            "\u00BE\u00D5\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.183 -            "\u0000\u0000\u00C7\u00D7\u0000\u0000\u0000\u0000" +
 242.184 -            "\u0000\u0000\u00C6\u00D6\u0000\u0000\u0000\u0000" +
 242.185 -            "\u0000\u008D\u00A5\u00A3\u00A4\u00CF\u00D8\u0000" +
 242.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00EF" +
 242.218 -            "\u0000\u0000\u00F2\u00A6\u00F7\u0000\u0000\u0000" +
 242.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F9\u0000" +
 242.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.275 -            "\u0000\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3" +
 242.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.277 -            "\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000" +
 242.278 -            "\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000" +
 242.279 -            "\u0000\u00C3\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.280 -            "\u0000\u00B4\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.281 -            "\u0000\u00C2\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.282 -            "\u0000\u00C1\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.283 -            "\u0000\u00C5\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.285 -            "\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA\u0000" +
 242.286 -            "\u0000\u00C9\u0000\u0000\u00BB\u0000\u0000\u00C8" +
 242.287 -            "\u0000\u0000\u00BC\u0000\u0000\u00CC\u0000\u0000" +
 242.288 -            "\u00B9\u0000\u0000\u00CB\u0000\u0000\u00CA\u0000" +
 242.289 -            "\u0000\u00CE\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.291 -            "\u0000\u0000\u0000\u0000\u0000\u00DF\u0000\u0000" +
 242.292 -            "\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000" +
 242.293 -            "\u0000\u00DD\u0000\u0000\u0000\u00DE\u00B0\u00B1" +
 242.294 -            "\u00B2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.295 -            "\u0000\u0000\u0000\u0000\u0000\u00FE\u0000\u0000" +
 242.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 242.307 -            "\u0000\u0000\u0000\u0000\u0000";
 242.308 -
 242.309 -    private final static short index1[] = {
 242.310 -            0, 256, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 242.311 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 242.312 -            614, 383, 845, 383, 383, 1101, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 242.313 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 242.314 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 242.315 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 242.316 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 242.317 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 242.318 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 242.319 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 242.320 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 242.321 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 242.322 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 242.323 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 242.324 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 242.325 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 242.326 -
 242.327 -        };
 242.328 -    }
 242.329 -}
   243.1 --- a/src/share/classes/sun/nio/cs/IBM850.java	Wed Jan 14 21:35:03 2009 -0800
   243.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   243.3 @@ -1,299 +0,0 @@
   243.4 -/*
   243.5 - * Copyright 2003-2005 Sun Microsystems, Inc.  All Rights Reserved.
   243.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   243.7 - *
   243.8 - * This code is free software; you can redistribute it and/or modify it
   243.9 - * under the terms of the GNU General Public License version 2 only, as
  243.10 - * published by the Free Software Foundation.  Sun designates this
  243.11 - * particular file as subject to the "Classpath" exception as provided
  243.12 - * by Sun in the LICENSE file that accompanied this code.
  243.13 - *
  243.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  243.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  243.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  243.17 - * version 2 for more details (a copy is included in the LICENSE file that
  243.18 - * accompanied this code).
  243.19 - *
  243.20 - * You should have received a copy of the GNU General Public License version
  243.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  243.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  243.23 - *
  243.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  243.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  243.26 - * have any questions.
  243.27 - */
  243.28 -
  243.29 -package sun.nio.cs;
  243.30 -
  243.31 -import java.nio.charset.Charset;
  243.32 -import java.nio.charset.CharsetDecoder;
  243.33 -import java.nio.charset.CharsetEncoder;
  243.34 -import sun.nio.cs.StandardCharsets;
  243.35 -import sun.nio.cs.SingleByteDecoder;
  243.36 -import sun.nio.cs.SingleByteEncoder;
  243.37 -import sun.nio.cs.HistoricallyNamedCharset;
  243.38 -
  243.39 -public class IBM850
  243.40 -    extends Charset
  243.41 -    implements HistoricallyNamedCharset
  243.42 -{
  243.43 -
  243.44 -    public IBM850() {
  243.45 -        super("IBM850", StandardCharsets.aliases_IBM850);
  243.46 -    }
  243.47 -
  243.48 -    public String historicalName() {
  243.49 -        return "Cp850";
  243.50 -    }
  243.51 -
  243.52 -    public boolean contains(Charset cs) {
  243.53 -        return (cs instanceof IBM850);
  243.54 -    }
  243.55 -
  243.56 -    public CharsetDecoder newDecoder() {
  243.57 -        return new Decoder(this);
  243.58 -    }
  243.59 -
  243.60 -    public CharsetEncoder newEncoder() {
  243.61 -        return new Encoder(this);
  243.62 -    }
  243.63 -
  243.64 -
  243.65 -    /**
  243.66 -     * These accessors are temporarily supplied while sun.io
  243.67 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  243.68 -     * These facilitate sharing of conversion tables between the
  243.69 -     * two co-existing implementations. When sun.io converters
  243.70 -     * are made extinct these will be unncessary and should be removed
  243.71 -     */
  243.72 -
  243.73 -    public static String getDecoderSingleByteMappings() {
  243.74 -        return Decoder.byteToCharTable;
  243.75 -
  243.76 -    }
  243.77 -
  243.78 -    public short[] getEncoderIndex1() {
  243.79 -        return Encoder.index1;
  243.80 -
  243.81 -    }
  243.82 -    public String getEncoderIndex2() {
  243.83 -        return Encoder.index2;
  243.84 -
  243.85 -    }
  243.86 -
  243.87 -    protected static class Decoder extends SingleByteDecoder {
  243.88 -            public Decoder(Charset cs) {
  243.89 -                super(cs, byteToCharTable);
  243.90 -        }
  243.91 -
  243.92 -        private final static String byteToCharTable =
  243.93 -
  243.94 -            "\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7" +        // 0x80 - 0x87
  243.95 -            "\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5" +        // 0x88 - 0x8F
  243.96 -            "\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9" +        // 0x90 - 0x97
  243.97 -            "\u00FF\u00D6\u00DC\u00F8\u00A3\u00D8\u00D7\u0192" +        // 0x98 - 0x9F
  243.98 -            "\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA" +        // 0xA0 - 0xA7
  243.99 -            "\u00BF\u00AE\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB" +        // 0xA8 - 0xAF
 243.100 -            "\u2591\u2592\u2593\u2502\u2524\u00C1\u00C2\u00C0" +        // 0xB0 - 0xB7
 243.101 -            "\u00A9\u2563\u2551\u2557\u255D\u00A2\u00A5\u2510" +        // 0xB8 - 0xBF
 243.102 -            "\u2514\u2534\u252C\u251C\u2500\u253C\u00E3\u00C3" +        // 0xC0 - 0xC7
 243.103 -            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u00A4" +        // 0xC8 - 0xCF
 243.104 -            "\u00F0\u00D0\u00CA\u00CB\u00C8\u0131\u00CD\u00CE" +        // 0xD0 - 0xD7
 243.105 -            "\u00CF\u2518\u250C\u2588\u2584\u00A6\u00CC\u2580" +        // 0xD8 - 0xDF
 243.106 -            "\u00D3\u00DF\u00D4\u00D2\u00F5\u00D5\u00B5\u00FE" +        // 0xE0 - 0xE7
 243.107 -            "\u00DE\u00DA\u00DB\u00D9\u00FD\u00DD\u00AF\u00B4" +        // 0xE8 - 0xEF
 243.108 -            "\u00AD\u00B1\u2017\u00BE\u00B6\u00A7\u00F7\u00B8" +        // 0xF0 - 0xF7
 243.109 -            "\u00B0\u00A8\u00B7\u00B9\u00B3\u00B2\u25A0\u00A0" +        // 0xF8 - 0xFF
 243.110 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 243.111 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 243.112 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 243.113 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 243.114 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 243.115 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 243.116 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 243.117 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 243.118 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 243.119 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 243.120 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 243.121 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 243.122 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 243.123 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 243.124 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 243.125 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 243.126 -
 243.127 -    }
 243.128 -
 243.129 -    protected static class Encoder extends SingleByteEncoder {
 243.130 -            public Encoder(Charset cs) {
 243.131 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 243.132 -            }
 243.133 -
 243.134 -            private final static String index2 =
 243.135 -
 243.136 -
 243.137 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 243.138 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 243.139 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 243.140 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 243.141 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 243.142 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 243.143 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 243.144 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 243.145 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 243.146 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 243.147 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 243.148 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 243.149 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 243.150 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 243.151 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 243.152 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 243.153 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.157 -            "\u00FF\u00AD\u00BD\u009C\u00CF\u00BE\u00DD\u00F5" +
 243.158 -            "\u00F9\u00B8\u00A6\u00AE\u00AA\u00F0\u00A9\u00EE" +
 243.159 -            "\u00F8\u00F1\u00FD\u00FC\u00EF\u00E6\u00F4\u00FA" +
 243.160 -            "\u00F7\u00FB\u00A7\u00AF\u00AC\u00AB\u00F3\u00A8" +
 243.161 -            "\u00B7\u00B5\u00B6\u00C7\u008E\u008F\u0092\u0080" +
 243.162 -            "\u00D4\u0090\u00D2\u00D3\u00DE\u00D6\u00D7\u00D8" +
 243.163 -            "\u00D1\u00A5\u00E3\u00E0\u00E2\u00E5\u0099\u009E" +
 243.164 -            "\u009D\u00EB\u00E9\u00EA\u009A\u00ED\u00E8\u00E1" +
 243.165 -            "\u0085\u00A0\u0083\u00C6\u0084\u0086\u0091\u0087" +
 243.166 -            "\u008A\u0082\u0088\u0089\u008D\u00A1\u008C\u008B" +
 243.167 -            "\u00D0\u00A4\u0095\u00A2\u0093\u00E4\u0094\u00F6" +
 243.168 -            "\u009B\u0097\u00A3\u0096\u0081\u00EC\u00E7\u0098" +
 243.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.175 -            "\u0000\u00D5\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.187 -            "\u0000\u0000\u009F\u0000\u0000\u0000\u0000\u0000" +
 243.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.219 -            "\u0000\u0000\u0000\u00F2\u0000\u0000\u0000\u0000" +
 243.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.248 -            "\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3\u0000" +
 243.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.250 -            "\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000\u0000" +
 243.251 -            "\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000\u0000" +
 243.252 -            "\u00C3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.253 -            "\u00B4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.254 -            "\u00C2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.255 -            "\u00C1\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.256 -            "\u00C5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.258 -            "\u0000\u0000\u0000\u0000\u00CD\u00BA\u0000\u0000" +
 243.259 -            "\u00C9\u0000\u0000\u00BB\u0000\u0000\u00C8\u0000" +
 243.260 -            "\u0000\u00BC\u0000\u0000\u00CC\u0000\u0000\u00B9" +
 243.261 -            "\u0000\u0000\u00CB\u0000\u0000\u00CA\u0000\u0000" +
 243.262 -            "\u00CE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.264 -            "\u0000\u0000\u0000\u0000\u00DF\u0000\u0000\u0000" +
 243.265 -            "\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000\u0000" +
 243.266 -            "\u0000\u0000\u0000\u0000\u0000\u00B0\u00B1\u00B2" +
 243.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.268 -            "\u0000\u0000\u0000\u0000\u00FE\u0000\u0000\u0000" +
 243.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 243.280 -            "\u0000\u0000\u0000\u0000";
 243.281 -
 243.282 -    private final static short index1[] = {
 243.283 -            0, 256, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 243.284 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 243.285 -            636, 403, 403, 403, 403, 892, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 243.286 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 243.287 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 243.288 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 243.289 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 243.290 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 243.291 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 243.292 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 243.293 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 243.294 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 243.295 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 243.296 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 243.297 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 243.298 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 243.299 -
 243.300 -        };
 243.301 -    }
 243.302 -}
   244.1 --- a/src/share/classes/sun/nio/cs/IBM852.java	Wed Jan 14 21:35:03 2009 -0800
   244.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   244.3 @@ -1,274 +0,0 @@
   244.4 -/*
   244.5 - * Copyright 2003-2005 Sun Microsystems, Inc.  All Rights Reserved.
   244.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   244.7 - *
   244.8 - * This code is free software; you can redistribute it and/or modify it
   244.9 - * under the terms of the GNU General Public License version 2 only, as
  244.10 - * published by the Free Software Foundation.  Sun designates this
  244.11 - * particular file as subject to the "Classpath" exception as provided
  244.12 - * by Sun in the LICENSE file that accompanied this code.
  244.13 - *
  244.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  244.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  244.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  244.17 - * version 2 for more details (a copy is included in the LICENSE file that
  244.18 - * accompanied this code).
  244.19 - *
  244.20 - * You should have received a copy of the GNU General Public License version
  244.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  244.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  244.23 - *
  244.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  244.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  244.26 - * have any questions.
  244.27 - */
  244.28 -
  244.29 -package sun.nio.cs;
  244.30 -
  244.31 -import java.nio.charset.Charset;
  244.32 -import java.nio.charset.CharsetDecoder;
  244.33 -import java.nio.charset.CharsetEncoder;
  244.34 -import sun.nio.cs.StandardCharsets;
  244.35 -import sun.nio.cs.SingleByteDecoder;
  244.36 -import sun.nio.cs.SingleByteEncoder;
  244.37 -import sun.nio.cs.HistoricallyNamedCharset;
  244.38 -
  244.39 -public class IBM852
  244.40 -    extends Charset
  244.41 -    implements HistoricallyNamedCharset
  244.42 -{
  244.43 -
  244.44 -    public IBM852() {
  244.45 -        super("IBM852", StandardCharsets.aliases_IBM852);
  244.46 -    }
  244.47 -
  244.48 -    public String historicalName() {
  244.49 -        return "Cp852";
  244.50 -    }
  244.51 -
  244.52 -    public boolean contains(Charset cs) {
  244.53 -        return (cs instanceof IBM852);
  244.54 -    }
  244.55 -
  244.56 -    public CharsetDecoder newDecoder() {
  244.57 -        return new Decoder(this);
  244.58 -    }
  244.59 -
  244.60 -    public CharsetEncoder newEncoder() {
  244.61 -        return new Encoder(this);
  244.62 -    }
  244.63 -
  244.64 -
  244.65 -    /**
  244.66 -     * These accessors are temporarily supplied while sun.io
  244.67 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  244.68 -     * These facilitate sharing of conversion tables between the
  244.69 -     * two co-existing implementations. When sun.io converters
  244.70 -     * are made extinct these will be unncessary and should be removed
  244.71 -     */
  244.72 -
  244.73 -    public String getDecoderSingleByteMappings() {
  244.74 -        return Decoder.byteToCharTable;
  244.75 -
  244.76 -    }
  244.77 -
  244.78 -    public short[] getEncoderIndex1() {
  244.79 -        return Encoder.index1;
  244.80 -
  244.81 -    }
  244.82 -    public String getEncoderIndex2() {
  244.83 -        return Encoder.index2;
  244.84 -
  244.85 -    }
  244.86 -
  244.87 -    private static class Decoder extends SingleByteDecoder {
  244.88 -            public Decoder(Charset cs) {
  244.89 -                super(cs, byteToCharTable);
  244.90 -        }
  244.91 -
  244.92 -        private final static String byteToCharTable =
  244.93 -
  244.94 -            "\u00C7\u00FC\u00E9\u00E2\u00E4\u016F\u0107\u00E7" +     // 0x80 - 0x87
  244.95 -            "\u0142\u00EB\u0150\u0151\u00EE\u0179\u00C4\u0106" +     // 0x88 - 0x8F
  244.96 -            "\u00C9\u0139\u013A\u00F4\u00F6\u013D\u013E\u015A" +     // 0x90 - 0x97
  244.97 -            "\u015B\u00D6\u00DC\u0164\u0165\u0141\u00D7\u010D" +     // 0x98 - 0x9F
  244.98 -            "\u00E1\u00ED\u00F3\u00FA\u0104\u0105\u017D\u017E" +     // 0xA0 - 0xA7
  244.99 -            "\u0118\u0119\u00AC\u017A\u010C\u015F\u00AB\u00BB" +     // 0xA8 - 0xAF
 244.100 -            "\u2591\u2592\u2593\u2502\u2524\u00C1\u00C2\u011A" +     // 0xB0 - 0xB7
 244.101 -            "\u015E\u2563\u2551\u2557\u255D\u017B\u017C\u2510" +     // 0xB8 - 0xBF
 244.102 -            "\u2514\u2534\u252C\u251C\u2500\u253C\u0102\u0103" +     // 0xC0 - 0xC7
 244.103 -            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u00A4" +     // 0xC8 - 0xCF
 244.104 -            "\u0111\u0110\u010E\u00CB\u010F\u0147\u00CD\u00CE" +     // 0xD0 - 0xD7
 244.105 -            "\u011B\u2518\u250C\u2588\u2584\u0162\u016E\u2580" +     // 0xD8 - 0xDF
 244.106 -            "\u00D3\u00DF\u00D4\u0143\u0144\u0148\u0160\u0161" +     // 0xE0 - 0xE7
 244.107 -            "\u0154\u00DA\u0155\u0170\u00FD\u00DD\u0163\u00B4" +     // 0xE8 - 0xEF
 244.108 -            "\u00AD\u02DD\u02DB\u02C7\u02D8\u00A7\u00F7\u00B8" +     // 0xF0 - 0xF7
 244.109 -            "\u00B0\u00A8\u02D9\u0171\u0158\u0159\u25A0\u00A0" +     // 0xF8 - 0xFF
 244.110 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 244.111 -            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 244.112 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 244.113 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 244.114 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 244.115 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 244.116 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 244.117 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 244.118 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 244.119 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 244.120 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 244.121 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 244.122 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 244.123 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 244.124 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 244.125 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 244.126 -
 244.127 -    }
 244.128 -
 244.129 -    private static class Encoder extends SingleByteEncoder {
 244.130 -            public Encoder(Charset cs) {
 244.131 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 244.132 -            }
 244.133 -
 244.134 -            private final static String index2 =
 244.135 -
 244.136 -
 244.137 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 244.138 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 244.139 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 244.140 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 244.141 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 244.142 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 244.143 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 244.144 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 244.145 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 244.146 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 244.147 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 244.148 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 244.149 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 244.150 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 244.151 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 244.152 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 244.153 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.157 -            "\u00FF\u0000\u0000\u0000\u00CF\u0000\u0000\u00F5" +
 244.158 -            "\u00F9\u0000\u0000\u00AE\u00AA\u00F0\u0000\u0000" +
 244.159 -            "\u00F8\u0000\u0000\u0000\u00EF\u0000\u0000\u0000" +
 244.160 -            "\u00F7\u0000\u0000\u00AF\u0000\u0000\u0000\u0000" +
 244.161 -            "\u0000\u00B5\u00B6\u0000\u008E\u0000\u0000\u0080" +
 244.162 -            "\u0000\u0090\u0000\u00D3\u0000\u00D6\u00D7\u0000" +
 244.163 -            "\u0000\u0000\u0000\u00E0\u00E2\u0000\u0099\u009E" +
 244.164 -            "\u0000\u0000\u00E9\u0000\u009A\u00ED\u0000\u00E1" +
 244.165 -            "\u0000\u00A0\u0083\u0000\u0084\u0000\u0000\u0087" +
 244.166 -            "\u0000\u0082\u0000\u0089\u0000\u00A1\u008C\u0000" +
 244.167 -            "\u0000\u0000\u0000\u00A2\u0093\u0000\u0094\u00F6" +
 244.168 -            "\u0000\u0000\u00A3\u0000\u0081\u00EC\u0000\u0000" +
 244.169 -            "\u00C6\u00C7\u00A4\u00A5\u008F\u0086\u0000\u0000" +
 244.170 -            "\u0000\u0000\u00AC\u009F\u00D2\u00D4\u00D1\u00D0" +
 244.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00A8\u00A9" +
 244.172 -            "\u00B7\u00D8\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0091" +
 244.176 -            "\u0092\u0000\u0000\u0095\u0096\u0000\u0000\u009D" +
 244.177 -            "\u0088\u00E3\u00E4\u0000\u0000\u00D5\u00E5\u0000" +
 244.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u008A\u008B" +
 244.179 -            "\u0000\u0000\u00E8\u00EA\u0000\u0000\u00FC\u00FD" +
 244.180 -            "\u0097\u0098\u0000\u0000\u00B8\u00AD\u00E6\u00E7" +
 244.181 -            "\u00DD\u00EE\u009B\u009C\u0000\u0000\u0000\u0000" +
 244.182 -            "\u0000\u0000\u0000\u0000\u00DE\u0085\u00EB\u00FB" +
 244.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u008D" +
 244.184 -            "\u00AB\u00BD\u00BE\u00A6\u00A7\u0000\u0000\u0000" +
 244.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.216 -            "\u0000\u0000\u0000\u0000\u0000\u00F3\u0000\u0000" +
 244.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F4\u00FA" +
 244.219 -            "\u0000\u00F2\u0000\u00F1\u0000\u0000\u0000\u0000" +
 244.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00C4\u0000" +
 244.224 -            "\u00B3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.225 -            "\u0000\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000" +
 244.226 -            "\u0000\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000" +
 244.227 -            "\u0000\u0000\u00C3\u0000\u0000\u0000\u0000\u0000" +
 244.228 -            "\u0000\u0000\u00B4\u0000\u0000\u0000\u0000\u0000" +
 244.229 -            "\u0000\u0000\u00C2\u0000\u0000\u0000\u0000\u0000" +
 244.230 -            "\u0000\u0000\u00C1\u0000\u0000\u0000\u0000\u0000" +
 244.231 -            "\u0000\u0000\u00C5\u0000\u0000\u0000\u0000\u0000" +
 244.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA" +
 244.234 -            "\u0000\u0000\u00C9\u0000\u0000\u00BB\u0000\u0000" +
 244.235 -            "\u00C8\u0000\u0000\u00BC\u0000\u0000\u00CC\u0000" +
 244.236 -            "\u0000\u00B9\u0000\u0000\u00CB\u0000\u0000\u00CA" +
 244.237 -            "\u0000\u0000\u00CE\u0000\u0000\u0000\u0000\u0000" +
 244.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00DF\u0000" +
 244.240 -            "\u0000\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000" +
 244.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B0" +
 244.242 -            "\u00B1\u00B2\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00FE\u0000" +
 244.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 244.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000";
 244.256 -
 244.257 -    private final static short index1[] = {
 244.258 -            0, 254, 438, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 244.259 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 244.260 -            381, 381, 381, 381, 381, 694, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 244.261 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 244.262 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 244.263 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 244.264 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 244.265 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 244.266 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 244.267 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 244.268 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 244.269 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 244.270 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 244.271 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 244.272 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 244.273 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 244.274 -
 244.275 -        };
 244.276 -    }
 244.277 -}
   245.1 --- a/src/share/classes/sun/nio/cs/IBM855.java	Wed Jan 14 21:35:03 2009 -0800
   245.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   245.3 @@ -1,304 +0,0 @@
   245.4 -/*
   245.5 - * Copyright 2003-2005 Sun Microsystems, Inc.  All Rights Reserved.
   245.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   245.7 - *
   245.8 - * This code is free software; you can redistribute it and/or modify it
   245.9 - * under the terms of the GNU General Public License version 2 only, as
  245.10 - * published by the Free Software Foundation.  Sun designates this
  245.11 - * particular file as subject to the "Classpath" exception as provided
  245.12 - * by Sun in the LICENSE file that accompanied this code.
  245.13 - *
  245.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  245.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  245.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  245.17 - * version 2 for more details (a copy is included in the LICENSE file that
  245.18 - * accompanied this code).
  245.19 - *
  245.20 - * You should have received a copy of the GNU General Public License version
  245.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  245.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  245.23 - *
  245.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  245.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  245.26 - * have any questions.
  245.27 - */
  245.28 -
  245.29 -package sun.nio.cs;
  245.30 -
  245.31 -import java.nio.charset.Charset;
  245.32 -import java.nio.charset.CharsetDecoder;
  245.33 -import java.nio.charset.CharsetEncoder;
  245.34 -import sun.nio.cs.StandardCharsets;
  245.35 -import sun.nio.cs.SingleByteDecoder;
  245.36 -import sun.nio.cs.SingleByteEncoder;
  245.37 -import sun.nio.cs.HistoricallyNamedCharset;
  245.38 -
  245.39 -public class IBM855
  245.40 -    extends Charset
  245.41 -    implements HistoricallyNamedCharset
  245.42 -{
  245.43 -
  245.44 -    public IBM855() {
  245.45 -        super("IBM855", StandardCharsets.aliases_IBM855);
  245.46 -    }
  245.47 -
  245.48 -    public String historicalName() {
  245.49 -        return "Cp855";
  245.50 -    }
  245.51 -
  245.52 -    public boolean contains(Charset cs) {
  245.53 -        return (cs instanceof IBM855);
  245.54 -    }
  245.55 -
  245.56 -    public CharsetDecoder newDecoder() {
  245.57 -        return new Decoder(this);
  245.58 -    }
  245.59 -
  245.60 -    public CharsetEncoder newEncoder() {
  245.61 -        return new Encoder(this);
  245.62 -    }
  245.63 -
  245.64 -
  245.65 -    /**
  245.66 -     * These accessors are temporarily supplied while sun.io
  245.67 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  245.68 -     * These facilitate sharing of conversion tables between the
  245.69 -     * two co-existing implementations. When sun.io converters
  245.70 -     * are made extinct these will be unncessary and should be removed
  245.71 -     */
  245.72 -
  245.73 -    public String getDecoderSingleByteMappings() {
  245.74 -        return Decoder.byteToCharTable;
  245.75 -
  245.76 -    }
  245.77 -
  245.78 -    public short[] getEncoderIndex1() {
  245.79 -        return Encoder.index1;
  245.80 -
  245.81 -    }
  245.82 -    public String getEncoderIndex2() {
  245.83 -        return Encoder.index2;
  245.84 -
  245.85 -    }
  245.86 -
  245.87 -    private static class Decoder extends SingleByteDecoder {
  245.88 -            public Decoder(Charset cs) {
  245.89 -                super(cs, byteToCharTable);
  245.90 -        }
  245.91 -
  245.92 -        private final static String byteToCharTable =
  245.93 -
  245.94 -            "\u0452\u0402\u0453\u0403\u0451\u0401\u0454\u0404" +        // 0x80 - 0x87
  245.95 -            "\u0455\u0405\u0456\u0406\u0457\u0407\u0458\u0408" +        // 0x88 - 0x8F
  245.96 -            "\u0459\u0409\u045A\u040A\u045B\u040B\u045C\u040C" +        // 0x90 - 0x97
  245.97 -            "\u045E\u040E\u045F\u040F\u044E\u042E\u044A\u042A" +        // 0x98 - 0x9F
  245.98 -            "\u0430\u0410\u0431\u0411\u0446\u0426\u0434\u0414" +        // 0xA0 - 0xA7
  245.99 -            "\u0435\u0415\u0444\u0424\u0433\u0413\u00AB\u00BB" +        // 0xA8 - 0xAF
 245.100 -            "\u2591\u2592\u2593\u2502\u2524\u0445\u0425\u0438" +        // 0xB0 - 0xB7
 245.101 -            "\u0418\u2563\u2551\u2557\u255D\u0439\u0419\u2510" +        // 0xB8 - 0xBF
 245.102 -            "\u2514\u2534\u252C\u251C\u2500\u253C\u043A\u041A" +        // 0xC0 - 0xC7
 245.103 -            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u00A4" +        // 0xC8 - 0xCF
 245.104 -            "\u043B\u041B\u043C\u041C\u043D\u041D\u043E\u041E" +        // 0xD0 - 0xD7
 245.105 -            "\u043F\u2518\u250C\u2588\u2584\u041F\u044F\u2580" +        // 0xD8 - 0xDF
 245.106 -            "\u042F\u0440\u0420\u0441\u0421\u0442\u0422\u0443" +        // 0xE0 - 0xE7
 245.107 -            "\u0423\u0436\u0416\u0432\u0412\u044C\u042C\u2116" +        // 0xE8 - 0xEF
 245.108 -            "\u00AD\u044B\u042B\u0437\u0417\u0448\u0428\u044D" +        // 0xF0 - 0xF7
 245.109 -            "\u042D\u0449\u0429\u0447\u0427\u00A7\u25A0\u00A0" +        // 0xF8 - 0xFF
 245.110 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 245.111 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 245.112 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 245.113 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 245.114 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 245.115 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 245.116 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 245.117 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 245.118 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 245.119 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 245.120 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 245.121 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 245.122 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 245.123 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 245.124 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 245.125 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 245.126 -
 245.127 -    }
 245.128 -
 245.129 -    private static class Encoder extends SingleByteEncoder {
 245.130 -            public Encoder(Charset cs) {
 245.131 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 245.132 -            }
 245.133 -
 245.134 -            private final static String index2 =
 245.135 -
 245.136 -
 245.137 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 245.138 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 245.139 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 245.140 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 245.141 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 245.142 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 245.143 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 245.144 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 245.145 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 245.146 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 245.147 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 245.148 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 245.149 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 245.150 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 245.151 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 245.152 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 245.153 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.157 -            "\u00FF\u0000\u0000\u0000\u00CF\u0000\u0000\u00FD" +
 245.158 -            "\u0000\u0000\u0000\u00AE\u0000\u00F0\u0000\u0000" +
 245.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.160 -            "\u0000\u0000\u0000\u00AF\u0000\u0000\u0000\u0000" +
 245.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.162 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.192 -            "\u0000\u0000\u0000\u0000\u0085\u0081\u0083\u0087" +
 245.193 -            "\u0089\u008B\u008D\u008F\u0091\u0093\u0095\u0097" +
 245.194 -            "\u0000\u0099\u009B\u00A1\u00A3\u00EC\u00AD\u00A7" +
 245.195 -            "\u00A9\u00EA\u00F4\u00B8\u00BE\u00C7\u00D1\u00D3" +
 245.196 -            "\u00D5\u00D7\u00DD\u00E2\u00E4\u00E6\u00E8\u00AB" +
 245.197 -            "\u00B6\u00A5\u00FC\u00F6\u00FA\u009F\u00F2\u00EE" +
 245.198 -            "\u00F8\u009D\u00E0\u00A0\u00A2\u00EB\u00AC\u00A6" +
 245.199 -            "\u00A8\u00E9\u00F3\u00B7\u00BD\u00C6\u00D0\u00D2" +
 245.200 -            "\u00D4\u00D6\u00D8\u00E1\u00E3\u00E5\u00E7\u00AA" +
 245.201 -            "\u00B5\u00A4\u00FB\u00F5\u00F9\u009E\u00F1\u00ED" +
 245.202 -            "\u00F7\u009C\u00DE\u0000\u0084\u0080\u0082\u0086" +
 245.203 -            "\u0088\u008A\u008C\u008E\u0090\u0092\u0094\u0096" +
 245.204 -            "\u0000\u0098\u009A\u0000\u0000\u0000\u0000\u0000" +
 245.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.224 -            "\u0000\u0000\u0000\u00EF\u0000\u0000\u0000\u0000" +
 245.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.253 -            "\u0000\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3" +
 245.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.255 -            "\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000" +
 245.256 -            "\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000" +
 245.257 -            "\u0000\u00C3\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.258 -            "\u0000\u00B4\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.259 -            "\u0000\u00C2\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.260 -            "\u0000\u00C1\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.261 -            "\u0000\u00C5\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.263 -            "\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA\u0000" +
 245.264 -            "\u0000\u00C9\u0000\u0000\u00BB\u0000\u0000\u00C8" +
 245.265 -            "\u0000\u0000\u00BC\u0000\u0000\u00CC\u0000\u0000" +
 245.266 -            "\u00B9\u0000\u0000\u00CB\u0000\u0000\u00CA\u0000" +
 245.267 -            "\u0000\u00CE\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.269 -            "\u0000\u0000\u0000\u0000\u0000\u00DF\u0000\u0000" +
 245.270 -            "\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000" +
 245.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00B0\u00B1" +
 245.272 -            "\u00B2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.273 -            "\u0000\u0000\u0000\u0000\u0000\u00FE\u0000\u0000" +
 245.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 245.285 -            "\u0000\u0000\u0000\u0000\u0000";
 245.286 -
 245.287 -    private final static short index1[] = {
 245.288 -            0, 188, 188, 188, 443, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 245.289 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 245.290 -            188, 677, 188, 188, 188, 933, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 245.291 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 245.292 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 245.293 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 245.294 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 245.295 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 245.296 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 245.297 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 245.298 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 245.299 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 245.300 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 245.301 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 245.302 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 245.303 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 245.304 -
 245.305 -        };
 245.306 -    }
 245.307 -}
   246.1 --- a/src/share/classes/sun/nio/cs/IBM857.java	Wed Jan 14 21:35:03 2009 -0800
   246.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   246.3 @@ -1,263 +0,0 @@
   246.4 -/*
   246.5 - * Copyright 2003-2005 Sun Microsystems, Inc.  All Rights Reserved.
   246.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   246.7 - *
   246.8 - * This code is free software; you can redistribute it and/or modify it
   246.9 - * under the terms of the GNU General Public License version 2 only, as
  246.10 - * published by the Free Software Foundation.  Sun designates this
  246.11 - * particular file as subject to the "Classpath" exception as provided
  246.12 - * by Sun in the LICENSE file that accompanied this code.
  246.13 - *
  246.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  246.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  246.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  246.17 - * version 2 for more details (a copy is included in the LICENSE file that
  246.18 - * accompanied this code).
  246.19 - *
  246.20 - * You should have received a copy of the GNU General Public License version
  246.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  246.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  246.23 - *
  246.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  246.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  246.26 - * have any questions.
  246.27 - */
  246.28 -
  246.29 -package sun.nio.cs;
  246.30 -
  246.31 -import java.nio.charset.Charset;
  246.32 -import java.nio.charset.CharsetDecoder;
  246.33 -import java.nio.charset.CharsetEncoder;
  246.34 -import sun.nio.cs.StandardCharsets;
  246.35 -import sun.nio.cs.SingleByteDecoder;
  246.36 -import sun.nio.cs.SingleByteEncoder;
  246.37 -import sun.nio.cs.HistoricallyNamedCharset;
  246.38 -
  246.39 -public class IBM857
  246.40 -    extends Charset
  246.41 -    implements HistoricallyNamedCharset
  246.42 -{
  246.43 -
  246.44 -    public IBM857() {
  246.45 -        super("IBM857", StandardCharsets.aliases_IBM857);
  246.46 -    }
  246.47 -
  246.48 -    public String historicalName() {
  246.49 -        return "Cp857";
  246.50 -    }
  246.51 -
  246.52 -    public boolean contains(Charset cs) {
  246.53 -        return (cs instanceof IBM857);
  246.54 -    }
  246.55 -
  246.56 -    public CharsetDecoder newDecoder() {
  246.57 -        return new Decoder(this);
  246.58 -    }
  246.59 -
  246.60 -    public CharsetEncoder newEncoder() {
  246.61 -        return new Encoder(this);
  246.62 -    }
  246.63 -
  246.64 -
  246.65 -    /**
  246.66 -     * These accessors are temporarily supplied while sun.io
  246.67 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  246.68 -     * These facilitate sharing of conversion tables between the
  246.69 -     * two co-existing implementations. When sun.io converters
  246.70 -     * are made extinct these will be unncessary and should be removed
  246.71 -     */
  246.72 -
  246.73 -    public String getDecoderSingleByteMappings() {
  246.74 -        return Decoder.byteToCharTable;
  246.75 -
  246.76 -    }
  246.77 -
  246.78 -    public short[] getEncoderIndex1() {
  246.79 -        return Encoder.index1;
  246.80 -
  246.81 -    }
  246.82 -    public String getEncoderIndex2() {
  246.83 -        return Encoder.index2;
  246.84 -
  246.85 -    }
  246.86 -
  246.87 -    private static class Decoder extends SingleByteDecoder {
  246.88 -            public Decoder(Charset cs) {
  246.89 -                super(cs, byteToCharTable);
  246.90 -        }
  246.91 -
  246.92 -        private final static String byteToCharTable =
  246.93 -
  246.94 -            "\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7" +        // 0x80 - 0x87
  246.95 -            "\u00EA\u00EB\u00E8\u00EF\u00EE\u0131\u00C4\u00C5" +        // 0x88 - 0x8F
  246.96 -            "\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9" +        // 0x90 - 0x97
  246.97 -            "\u0130\u00D6\u00DC\u00F8\u00A3\u00D8\u015E\u015F" +        // 0x98 - 0x9F
  246.98 -            "\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u011E\u011F" +        // 0xA0 - 0xA7
  246.99 -            "\u00BF\u00AE\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB" +        // 0xA8 - 0xAF
 246.100 -            "\u2591\u2592\u2593\u2502\u2524\u00C1\u00C2\u00C0" +        // 0xB0 - 0xB7
 246.101 -            "\u00A9\u2563\u2551\u2557\u255D\u00A2\u00A5\u2510" +        // 0xB8 - 0xBF
 246.102 -            "\u2514\u2534\u252C\u251C\u2500\u253C\u00E3\u00C3" +        // 0xC0 - 0xC7
 246.103 -            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u00A4" +        // 0xC8 - 0xCF
 246.104 -            "\u00BA\u00AA\u00CA\u00CB\u00C8\uFFFD\u00CD\u00CE" +        // 0xD0 - 0xD7
 246.105 -            "\u00CF\u2518\u250C\u2588\u2584\u00A6\u00CC\u2580" +        // 0xD8 - 0xDF
 246.106 -            "\u00D3\u00DF\u00D4\u00D2\u00F5\u00D5\u00B5\uFFFD" +        // 0xE0 - 0xE7
 246.107 -            "\u00D7\u00DA\u00DB\u00D9\u00EC\u00FF\u00AF\u00B4" +        // 0xE8 - 0xEF
 246.108 -            "\u00AD\u00B1\uFFFD\u00BE\u00B6\u00A7\u00F7\u00B8" +        // 0xF0 - 0xF7
 246.109 -            "\u00B0\u00A8\u00B7\u00B9\u00B3\u00B2\u25A0\u00A0" +        // 0xF8 - 0xFF
 246.110 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 246.111 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 246.112 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 246.113 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 246.114 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 246.115 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 246.116 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 246.117 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 246.118 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 246.119 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 246.120 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 246.121 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 246.122 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 246.123 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 246.124 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 246.125 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 246.126 -
 246.127 -    }
 246.128 -
 246.129 -    private static class Encoder extends SingleByteEncoder {
 246.130 -            public Encoder(Charset cs) {
 246.131 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 246.132 -            }
 246.133 -
 246.134 -            private final static String index2 =
 246.135 -
 246.136 -
 246.137 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 246.138 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 246.139 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 246.140 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 246.141 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 246.142 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 246.143 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 246.144 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 246.145 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 246.146 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 246.147 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 246.148 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 246.149 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 246.150 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 246.151 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 246.152 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 246.153 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.157 -            "\u00FF\u00AD\u00BD\u009C\u00CF\u00BE\u00DD\u00F5" +
 246.158 -            "\u00F9\u00B8\u00D1\u00AE\u00AA\u00F0\u00A9\u00EE" +
 246.159 -            "\u00F8\u00F1\u00FD\u00FC\u00EF\u00E6\u00F4\u00FA" +
 246.160 -            "\u00F7\u00FB\u00D0\u00AF\u00AC\u00AB\u00F3\u00A8" +
 246.161 -            "\u00B7\u00B5\u00B6\u00C7\u008E\u008F\u0092\u0080" +
 246.162 -            "\u00D4\u0090\u00D2\u00D3\u00DE\u00D6\u00D7\u00D8" +
 246.163 -            "\u0000\u00A5\u00E3\u00E0\u00E2\u00E5\u0099\u00E8" +
 246.164 -            "\u009D\u00EB\u00E9\u00EA\u009A\u0000\u0000\u00E1" +
 246.165 -            "\u0085\u00A0\u0083\u00C6\u0084\u0086\u0091\u0087" +
 246.166 -            "\u008A\u0082\u0088\u0089\u00EC\u00A1\u008C\u008B" +
 246.167 -            "\u0000\u00A4\u0095\u00A2\u0093\u00E4\u0094\u00F6" +
 246.168 -            "\u009B\u0097\u00A3\u0096\u0081\u0000\u0000\u00ED" +
 246.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00A6\u00A7" +
 246.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.175 -            "\u0098\u008D\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u009E\u009F" +
 246.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.213 -            "\u00C4\u0000\u00B3\u0000\u0000\u0000\u0000\u0000" +
 246.214 -            "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" +
 246.215 -            "\u00BF\u0000\u0000\u0000\u00C0\u0000\u0000\u0000" +
 246.216 -            "\u00D9\u0000\u0000\u0000\u00C3\u0000\u0000\u0000" +
 246.217 -            "\u0000\u0000\u0000\u0000\u00B4\u0000\u0000\u0000" +
 246.218 -            "\u0000\u0000\u0000\u0000\u00C2\u0000\u0000\u0000" +
 246.219 -            "\u0000\u0000\u0000\u0000\u00C1\u0000\u0000\u0000" +
 246.220 -            "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" +
 246.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.223 -            "\u00CD\u00BA\u0000\u0000\u00C9\u0000\u0000\u00BB" +
 246.224 -            "\u0000\u0000\u00C8\u0000\u0000\u00BC\u0000\u0000" +
 246.225 -            "\u00CC\u0000\u0000\u00B9\u0000\u0000\u00CB\u0000" +
 246.226 -            "\u0000\u00CA\u0000\u0000\u00CE\u0000\u0000\u0000" +
 246.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.229 -            "\u00DF\u0000\u0000\u0000\u00DC\u0000\u0000\u0000" +
 246.230 -            "\u00DB\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.231 -            "\u0000\u00B0\u00B1\u00B2\u0000\u0000\u0000\u0000" +
 246.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.233 -            "\u00FE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 246.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 246.245 -
 246.246 -    private final static short index1[] = {
 246.247 -            0, 256, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 246.248 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 246.249 -            352, 352, 352, 352, 352, 608, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 246.250 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 246.251 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 246.252 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 246.253 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 246.254 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 246.255 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 246.256 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 246.257 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 246.258 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 246.259 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 246.260 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 246.261 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 246.262 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 246.263 -
 246.264 -        };
 246.265 -    }
 246.266 -}
   247.1 --- a/src/share/classes/sun/nio/cs/IBM858.java	Wed Jan 14 21:35:03 2009 -0800
   247.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   247.3 @@ -1,264 +0,0 @@
   247.4 -/*
   247.5 - * Copyright 2003-2005 Sun Microsystems, Inc.  All Rights Reserved.
   247.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   247.7 - *
   247.8 - * This code is free software; you can redistribute it and/or modify it
   247.9 - * under the terms of the GNU General Public License version 2 only, as
  247.10 - * published by the Free Software Foundation.  Sun designates this
  247.11 - * particular file as subject to the "Classpath" exception as provided
  247.12 - * by Sun in the LICENSE file that accompanied this code.
  247.13 - *
  247.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  247.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  247.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  247.17 - * version 2 for more details (a copy is included in the LICENSE file that
  247.18 - * accompanied this code).
  247.19 - *
  247.20 - * You should have received a copy of the GNU General Public License version
  247.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  247.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  247.23 - *
  247.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  247.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  247.26 - * have any questions.
  247.27 - */
  247.28 -
  247.29 -package sun.nio.cs;
  247.30 -
  247.31 -import java.nio.charset.Charset;
  247.32 -import java.nio.charset.CharsetDecoder;
  247.33 -import java.nio.charset.CharsetEncoder;
  247.34 -import sun.nio.cs.StandardCharsets;
  247.35 -import sun.nio.cs.SingleByteDecoder;
  247.36 -import sun.nio.cs.SingleByteEncoder;
  247.37 -import sun.nio.cs.HistoricallyNamedCharset;
  247.38 -
  247.39 -public class IBM858
  247.40 -    extends Charset
  247.41 -    implements HistoricallyNamedCharset
  247.42 -{
  247.43 -
  247.44 -    public IBM858() {
  247.45 -        super("IBM00858", StandardCharsets.aliases_IBM858);
  247.46 -    }
  247.47 -
  247.48 -    public String historicalName() {
  247.49 -        return "Cp858";
  247.50 -    }
  247.51 -
  247.52 -    public boolean contains(Charset cs) {
  247.53 -        return (cs instanceof IBM858);
  247.54 -    }
  247.55 -
  247.56 -    public CharsetDecoder newDecoder() {
  247.57 -        return new Decoder(this);
  247.58 -    }
  247.59 -
  247.60 -    public CharsetEncoder newEncoder() {
  247.61 -        return new Encoder(this);
  247.62 -    }
  247.63 -
  247.64 -
  247.65 -    /**
  247.66 -     * These accessors are temporarily supplied while sun.io
  247.67 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  247.68 -     * These facilitate sharing of conversion tables between the
  247.69 -     * two co-existing implementations. When sun.io converters
  247.70 -     * are made extinct these will be unncessary and should be removed
  247.71 -     */
  247.72 -
  247.73 -    public static String getDecoderSingleByteMappings() {
  247.74 -        return IBM850.getDecoderSingleByteMappings();
  247.75 -    }
  247.76 -
  247.77 -    public short[] getEncoderIndex1() {
  247.78 -        return Encoder.index1;
  247.79 -
  247.80 -    }
  247.81 -    public String getEncoderIndex2() {
  247.82 -        return Encoder.index2;
  247.83 -
  247.84 -    }
  247.85 -
  247.86 -    private static class Decoder extends IBM850.Decoder {
  247.87 -            public Decoder(Charset cs) {
  247.88 -                super(cs);
  247.89 -            }
  247.90 -
  247.91 -            public char decode(int byteIndex) {
  247.92 -                return (byteIndex == (byte)0xD5) ? '\u20AC' : super.decode(byteIndex);
  247.93 -            }
  247.94 -    }
  247.95 -
  247.96 -    private static class Encoder extends SingleByteEncoder {
  247.97 -        public Encoder(Charset cs) {
  247.98 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
  247.99 -        }
 247.100 -
 247.101 -        private final static String index2 =
 247.102 -
 247.103 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 247.104 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 247.105 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 247.106 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 247.107 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 247.108 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 247.109 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 247.110 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 247.111 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 247.112 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 247.113 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 247.114 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 247.115 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 247.116 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 247.117 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 247.118 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 247.119 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.120 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.121 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.122 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.123 -            "\u00FF\u00AD\u00BD\u009C\u00CF\u00BE\u00DD\u00F5" +
 247.124 -            "\u00F9\u00B8\u00A6\u00AE\u00AA\u00F0\u00A9\u00EE" +
 247.125 -            "\u00F8\u00F1\u00FD\u00FC\u00EF\u00E6\u00F4\u00FA" +
 247.126 -            "\u00F7\u00FB\u00A7\u00AF\u00AC\u00AB\u00F3\u00A8" +
 247.127 -            "\u00B7\u00B5\u00B6\u00C7\u008E\u008F\u0092\u0080" +
 247.128 -            "\u00D4\u0090\u00D2\u00D3\u00DE\u00D6\u00D7\u00D8" +
 247.129 -            "\u00D1\u00A5\u00E3\u00E0\u00E2\u00E5\u0099\u009E" +
 247.130 -            "\u009D\u00EB\u00E9\u00EA\u009A\u00ED\u00E8\u00E1" +
 247.131 -            "\u0085\u00A0\u0083\u00C6\u0084\u0086\u0091\u0087" +
 247.132 -            "\u008A\u0082\u0088\u0089\u008D\u00A1\u008C\u008B" +
 247.133 -            "\u00D0\u00A4\u0095\u00A2\u0093\u00E4\u0094\u00F6" +
 247.134 -            "\u009B\u0097\u00A3\u0096\u0081\u00EC\u00E7\u0098" +
 247.135 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.136 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.137 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.138 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.139 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.140 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.141 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.142 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.143 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.144 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.145 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.146 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.147 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.148 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.149 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.150 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.151 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.152 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.153 -            "\u0000\u0000\u009F\u0000\u0000\u0000\u0000\u0000" +
 247.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.160 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.162 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.185 -            "\u0000\u0000\u0000\u00F2\u0000\u0000\u0000\u0000" +
 247.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.204 -            "\u00D5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.214 -            "\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3\u0000" +
 247.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.216 -            "\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000\u0000" +
 247.217 -            "\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000\u0000" +
 247.218 -            "\u00C3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.219 -            "\u00B4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.220 -            "\u00C2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.221 -            "\u00C1\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.222 -            "\u00C5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.224 -            "\u0000\u0000\u0000\u0000\u00CD\u00BA\u0000\u0000" +
 247.225 -            "\u00C9\u0000\u0000\u00BB\u0000\u0000\u00C8\u0000" +
 247.226 -            "\u0000\u00BC\u0000\u0000\u00CC\u0000\u0000\u00B9" +
 247.227 -            "\u0000\u0000\u00CB\u0000\u0000\u00CA\u0000\u0000" +
 247.228 -            "\u00CE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.230 -            "\u0000\u0000\u0000\u0000\u00DF\u0000\u0000\u0000" +
 247.231 -            "\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000\u0000" +
 247.232 -            "\u0000\u0000\u0000\u0000\u0000\u00B0\u00B1\u00B2" +
 247.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.234 -            "\u0000\u0000\u0000\u0000\u00FE\u0000\u0000\u0000" +
 247.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 247.246 -            "\u0000\u0000\u0000\u0000";
 247.247 -
 247.248 -        private final static short index1[] = {
 247.249 -            0, 256, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 247.250 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 247.251 -            636, 403, 403, 403, 403, 892, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 247.252 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 247.253 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 247.254 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 247.255 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 247.256 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 247.257 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 247.258 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 247.259 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 247.260 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 247.261 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 247.262 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 247.263 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 247.264 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 247.265 -        };
 247.266 -    }
 247.267 -}
   248.1 --- a/src/share/classes/sun/nio/cs/IBM862.java	Wed Jan 14 21:35:03 2009 -0800
   248.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   248.3 @@ -1,396 +0,0 @@
   248.4 -/*
   248.5 - * Copyright 2003-2005 Sun Microsystems, Inc.  All Rights Reserved.
   248.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   248.7 - *
   248.8 - * This code is free software; you can redistribute it and/or modify it
   248.9 - * under the terms of the GNU General Public License version 2 only, as
  248.10 - * published by the Free Software Foundation.  Sun designates this
  248.11 - * particular file as subject to the "Classpath" exception as provided
  248.12 - * by Sun in the LICENSE file that accompanied this code.
  248.13 - *
  248.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  248.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  248.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  248.17 - * version 2 for more details (a copy is included in the LICENSE file that
  248.18 - * accompanied this code).
  248.19 - *
  248.20 - * You should have received a copy of the GNU General Public License version
  248.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  248.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  248.23 - *
  248.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  248.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  248.26 - * have any questions.
  248.27 - */
  248.28 -
  248.29 -package sun.nio.cs;
  248.30 -
  248.31 -import java.nio.charset.Charset;
  248.32 -import java.nio.charset.CharsetDecoder;
  248.33 -import java.nio.charset.CharsetEncoder;
  248.34 -import sun.nio.cs.StandardCharsets;
  248.35 -import sun.nio.cs.SingleByteDecoder;
  248.36 -import sun.nio.cs.SingleByteEncoder;
  248.37 -import sun.nio.cs.HistoricallyNamedCharset;
  248.38 -
  248.39 -public class IBM862
  248.40 -    extends Charset
  248.41 -    implements HistoricallyNamedCharset
  248.42 -{
  248.43 -
  248.44 -    public IBM862() {
  248.45 -        super("IBM862", StandardCharsets.aliases_IBM862);
  248.46 -    }
  248.47 -
  248.48 -    public String historicalName() {
  248.49 -        return "Cp862";
  248.50 -    }
  248.51 -
  248.52 -    public boolean contains(Charset cs) {
  248.53 -        return (cs instanceof IBM862);
  248.54 -    }
  248.55 -
  248.56 -    public CharsetDecoder newDecoder() {
  248.57 -        return new Decoder(this);
  248.58 -    }
  248.59 -
  248.60 -    public CharsetEncoder newEncoder() {
  248.61 -        return new Encoder(this);
  248.62 -    }
  248.63 -
  248.64 -
  248.65 -    /**
  248.66 -     * These accessors are temporarily supplied while sun.io
  248.67 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  248.68 -     * These facilitate sharing of conversion tables between the
  248.69 -     * two co-existing implementations. When sun.io converters
  248.70 -     * are made extinct these will be unncessary and should be removed
  248.71 -     */
  248.72 -
  248.73 -    public String getDecoderSingleByteMappings() {
  248.74 -        return Decoder.byteToCharTable;
  248.75 -
  248.76 -    }
  248.77 -
  248.78 -    public short[] getEncoderIndex1() {
  248.79 -        return Encoder.index1;
  248.80 -
  248.81 -    }
  248.82 -    public String getEncoderIndex2() {
  248.83 -        return Encoder.index2;
  248.84 -
  248.85 -    }
  248.86 -
  248.87 -    private static class Decoder extends SingleByteDecoder {
  248.88 -            public Decoder(Charset cs) {
  248.89 -                super(cs, byteToCharTable);
  248.90 -        }
  248.91 -
  248.92 -        private final static String byteToCharTable =
  248.93 -
  248.94 -            "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7" +        // 0x80 - 0x87
  248.95 -            "\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF" +        // 0x88 - 0x8F
  248.96 -            "\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7" +        // 0x90 - 0x97
  248.97 -            "\u05E8\u05E9\u05EA\u00A2\u00A3\u00A5\u20A7\u0192" +        // 0x98 - 0x9F
  248.98 -            "\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA" +        // 0xA0 - 0xA7
  248.99 -            "\u00BF\u2310\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB" +        // 0xA8 - 0xAF
 248.100 -            "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" +        // 0xB0 - 0xB7
 248.101 -            "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" +        // 0xB8 - 0xBF
 248.102 -            "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" +        // 0xC0 - 0xC7
 248.103 -            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" +        // 0xC8 - 0xCF
 248.104 -            "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" +        // 0xD0 - 0xD7
 248.105 -            "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" +        // 0xD8 - 0xDF
 248.106 -            "\u03B1\u00DF\u0393\u03C0\u03A3\u03C3\u00B5\u03C4" +        // 0xE0 - 0xE7
 248.107 -            "\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229" +        // 0xE8 - 0xEF
 248.108 -            "\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248" +        // 0xF0 - 0xF7
 248.109 -            "\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0" +        // 0xF8 - 0xFF
 248.110 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 248.111 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 248.112 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 248.113 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 248.114 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 248.115 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 248.116 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 248.117 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 248.118 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 248.119 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 248.120 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 248.121 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 248.122 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 248.123 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 248.124 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 248.125 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 248.126 -
 248.127 -    }
 248.128 -
 248.129 -    private static class Encoder extends SingleByteEncoder {
 248.130 -            public Encoder(Charset cs) {
 248.131 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 248.132 -            }
 248.133 -
 248.134 -            private final static String index2 =
 248.135 -
 248.136 -
 248.137 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 248.138 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 248.139 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 248.140 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 248.141 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 248.142 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 248.143 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 248.144 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 248.145 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 248.146 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 248.147 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 248.148 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 248.149 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 248.150 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 248.151 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 248.152 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 248.153 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.157 -            "\u00FF\u00AD\u009B\u009C\u0000\u009D\u0000\u0000" +
 248.158 -            "\u0000\u0000\u00A6\u00AE\u00AA\u0000\u0000\u0000" +
 248.159 -            "\u00F8\u00F1\u00FD\u0000\u0000\u00E6\u0000\u00FA" +
 248.160 -            "\u0000\u0000\u00A7\u00AF\u00AC\u00AB\u0000\u00A8" +
 248.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.162 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.163 -            "\u0000\u00A5\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E1" +
 248.165 -            "\u0000\u00A0\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.166 -            "\u0000\u0000\u0000\u0000\u0000\u00A1\u0000\u0000" +
 248.167 -            "\u0000\u00A4\u0000\u00A2\u0000\u0000\u0000\u00F6" +
 248.168 -            "\u0000\u0000\u00A3\u0000\u0000\u0000\u0000\u0000" +
 248.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.186 -            "\u0000\u0000\u0000\u0000\u0000\u009F\u0000\u0000" +
 248.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00E2\u0000" +
 248.219 -            "\u0000\u0000\u0000\u00E9\u0000\u0000\u0000\u0000" +
 248.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00E4\u0000" +
 248.221 -            "\u0000\u00E8\u0000\u0000\u00EA\u0000\u0000\u0000" +
 248.222 -            "\u0000\u0000\u0000\u0000\u00E0\u0000\u0000\u00EB" +
 248.223 -            "\u00EE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.224 -            "\u0000\u0000\u0000\u00E3\u0000\u0000\u00E5\u00E7" +
 248.225 -            "\u0000\u00ED\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.251 -            "\u0000\u0000\u0080\u0081\u0082\u0083\u0084\u0085" +
 248.252 -            "\u0086\u0087\u0088\u0089\u008A\u008B\u008C\u008D" +
 248.253 -            "\u008E\u008F\u0090\u0091\u0092\u0093\u0094\u0095" +
 248.254 -            "\u0096\u0097\u0098\u0099\u009A\u0000\u0000\u0000" +
 248.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.270 -            "\u0000\u0000\u0000\u0000\u00FC\u0000\u0000\u0000" +
 248.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.275 -            "\u0000\u0000\u0000\u0000\u009E\u0000\u0000\u0000" +
 248.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.286 -            "\u0000\u0000\u0000\u0000\u0000\u00F9\u00FB\u0000" +
 248.287 -            "\u0000\u0000\u00EC\u0000\u0000\u0000\u0000\u0000" +
 248.288 -            "\u0000\u0000\u0000\u0000\u0000\u00EF\u0000\u0000" +
 248.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.292 -            "\u0000\u0000\u0000\u0000\u00F7\u0000\u0000\u0000" +
 248.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.295 -            "\u0000\u0000\u0000\u0000\u0000\u00F0\u0000\u0000" +
 248.296 -            "\u00F3\u00F2\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.307 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.308 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.309 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.310 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.311 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.312 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.313 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.314 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.315 -            "\u0000\u0000\u0000\u0000\u00A9\u0000\u0000\u0000" +
 248.316 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.317 -            "\u0000\u0000\u0000\u0000\u00F4\u00F5\u0000\u0000" +
 248.318 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.319 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.320 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.321 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.322 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.323 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.324 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.325 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.326 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.327 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.328 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.329 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.330 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.331 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.332 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.333 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.334 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.335 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.336 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.337 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.338 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.339 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.340 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.341 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.342 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.343 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.344 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.345 -            "\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3\u0000" +
 248.346 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.347 -            "\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000\u0000" +
 248.348 -            "\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000\u0000" +
 248.349 -            "\u00C3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.350 -            "\u00B4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.351 -            "\u00C2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.352 -            "\u00C1\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.353 -            "\u00C5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.354 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.355 -            "\u0000\u0000\u0000\u0000\u00CD\u00BA\u00D5\u00D6" +
 248.356 -            "\u00C9\u00B8\u00B7\u00BB\u00D4\u00D3\u00C8\u00BE" +
 248.357 -            "\u00BD\u00BC\u00C6\u00C7\u00CC\u00B5\u00B6\u00B9" +
 248.358 -            "\u00D1\u00D2\u00CB\u00CF\u00D0\u00CA\u00D8\u00D7" +
 248.359 -            "\u00CE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.360 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.361 -            "\u0000\u0000\u0000\u0000\u00DF\u0000\u0000\u0000" +
 248.362 -            "\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000\u0000" +
 248.363 -            "\u00DD\u0000\u0000\u0000\u00DE\u00B0\u00B1\u00B2" +
 248.364 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.365 -            "\u0000\u0000\u0000\u0000\u00FE\u0000\u0000\u0000" +
 248.366 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.367 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.368 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.369 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.370 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.371 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.372 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.373 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.374 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.375 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.376 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 248.377 -            "\u0000\u0000\u0000\u0000";
 248.378 -
 248.379 -    private final static short index1[] = {
 248.380 -            0, 251, 398, 507, 398, 706, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
 248.381 -            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
 248.382 -            941, 398, 1172, 1412, 398, 1668, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
 248.383 -            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
 248.384 -            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
 248.385 -            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
 248.386 -            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
 248.387 -            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
 248.388 -            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
 248.389 -            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
 248.390 -            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
 248.391 -            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
 248.392 -            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
 248.393 -            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
 248.394 -            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
 248.395 -            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
 248.396 -
 248.397 -        };
 248.398 -    }
 248.399 -}
   249.1 --- a/src/share/classes/sun/nio/cs/IBM866.java	Wed Jan 14 21:35:03 2009 -0800
   249.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   249.3 @@ -1,332 +0,0 @@
   249.4 -/*
   249.5 - * Copyright 2003-2005 Sun Microsystems, Inc.  All Rights Reserved.
   249.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   249.7 - *
   249.8 - * This code is free software; you can redistribute it and/or modify it
   249.9 - * under the terms of the GNU General Public License version 2 only, as
  249.10 - * published by the Free Software Foundation.  Sun designates this
  249.11 - * particular file as subject to the "Classpath" exception as provided
  249.12 - * by Sun in the LICENSE file that accompanied this code.
  249.13 - *
  249.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  249.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  249.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  249.17 - * version 2 for more details (a copy is included in the LICENSE file that
  249.18 - * accompanied this code).
  249.19 - *
  249.20 - * You should have received a copy of the GNU General Public License version
  249.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  249.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  249.23 - *
  249.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  249.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  249.26 - * have any questions.
  249.27 - */
  249.28 -
  249.29 -package sun.nio.cs;
  249.30 -
  249.31 -import java.nio.charset.Charset;
  249.32 -import java.nio.charset.CharsetDecoder;
  249.33 -import java.nio.charset.CharsetEncoder;
  249.34 -import sun.nio.cs.StandardCharsets;
  249.35 -import sun.nio.cs.SingleByteDecoder;
  249.36 -import sun.nio.cs.SingleByteEncoder;
  249.37 -import sun.nio.cs.HistoricallyNamedCharset;
  249.38 -
  249.39 -public class IBM866
  249.40 -    extends Charset
  249.41 -    implements HistoricallyNamedCharset
  249.42 -{
  249.43 -
  249.44 -    public IBM866() {
  249.45 -        super("IBM866", StandardCharsets.aliases_IBM866);
  249.46 -    }
  249.47 -
  249.48 -    public String historicalName() {
  249.49 -        return "Cp866";
  249.50 -    }
  249.51 -
  249.52 -    public boolean contains(Charset cs) {
  249.53 -        return (cs instanceof IBM866);
  249.54 -    }
  249.55 -
  249.56 -    public CharsetDecoder newDecoder() {
  249.57 -        return new Decoder(this);
  249.58 -    }
  249.59 -
  249.60 -    public CharsetEncoder newEncoder() {
  249.61 -        return new Encoder(this);
  249.62 -    }
  249.63 -
  249.64 -
  249.65 -    /**
  249.66 -     * These accessors are temporarily supplied while sun.io
  249.67 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  249.68 -     * These facilitate sharing of conversion tables between the
  249.69 -     * two co-existing implementations. When sun.io converters
  249.70 -     * are made extinct these will be unncessary and should be removed
  249.71 -     */
  249.72 -
  249.73 -    public String getDecoderSingleByteMappings() {
  249.74 -        return Decoder.byteToCharTable;
  249.75 -
  249.76 -    }
  249.77 -
  249.78 -    public short[] getEncoderIndex1() {
  249.79 -        return Encoder.index1;
  249.80 -
  249.81 -    }
  249.82 -    public String getEncoderIndex2() {
  249.83 -        return Encoder.index2;
  249.84 -
  249.85 -    }
  249.86 -
  249.87 -    private static class Decoder extends SingleByteDecoder {
  249.88 -            public Decoder(Charset cs) {
  249.89 -                super(cs, byteToCharTable);
  249.90 -        }
  249.91 -
  249.92 -        private final static String byteToCharTable =
  249.93 -
  249.94 -            "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417" +        // 0x80 - 0x87
  249.95 -            "\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F" +        // 0x88 - 0x8F
  249.96 -            "\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427" +        // 0x90 - 0x97
  249.97 -            "\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F" +        // 0x98 - 0x9F
  249.98 -            "\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437" +        // 0xA0 - 0xA7
  249.99 -            "\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F" +        // 0xA8 - 0xAF
 249.100 -            "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" +        // 0xB0 - 0xB7
 249.101 -            "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" +        // 0xB8 - 0xBF
 249.102 -            "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" +        // 0xC0 - 0xC7
 249.103 -            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" +        // 0xC8 - 0xCF
 249.104 -            "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" +        // 0xD0 - 0xD7
 249.105 -            "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" +        // 0xD8 - 0xDF
 249.106 -            "\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447" +        // 0xE0 - 0xE7
 249.107 -            "\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" +        // 0xE8 - 0xEF
 249.108 -            "\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E" +        // 0xF0 - 0xF7
 249.109 -            "\u00B0\u2219\u00B7\u221A\u2116\u00A4\u25A0\u00A0" +        // 0xF8 - 0xFF
 249.110 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 249.111 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 249.112 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 249.113 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 249.114 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 249.115 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 249.116 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 249.117 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 249.118 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 249.119 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 249.120 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 249.121 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 249.122 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 249.123 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 249.124 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 249.125 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 249.126 -
 249.127 -    }
 249.128 -
 249.129 -    private static class Encoder extends SingleByteEncoder {
 249.130 -            public Encoder(Charset cs) {
 249.131 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 249.132 -            }
 249.133 -
 249.134 -            private final static String index2 =
 249.135 -
 249.136 -
 249.137 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 249.138 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 249.139 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 249.140 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 249.141 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 249.142 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 249.143 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 249.144 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 249.145 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 249.146 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 249.147 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 249.148 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 249.149 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 249.150 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 249.151 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 249.152 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 249.153 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.157 -            "\u00FF\u0000\u0000\u0000\u00FD\u0000\u0000\u0000" +
 249.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.159 -            "\u00F8\u0000\u0000\u0000\u0000\u0000\u0000\u00FA" +
 249.160 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.162 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.192 -            "\u00F0\u0000\u0000\u00F2\u0000\u0000\u00F4\u0000" +
 249.193 -            "\u0000\u0000\u0000\u0000\u0000\u00F6\u0000\u0080" +
 249.194 -            "\u0081\u0082\u0083\u0084\u0085\u0086\u0087\u0088" +
 249.195 -            "\u0089\u008A\u008B\u008C\u008D\u008E\u008F\u0090" +
 249.196 -            "\u0091\u0092\u0093\u0094\u0095\u0096\u0097\u0098" +
 249.197 -            "\u0099\u009A\u009B\u009C\u009D\u009E\u009F\u00A0" +
 249.198 -            "\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7\u00A8" +
 249.199 -            "\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF\u00E0" +
 249.200 -            "\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7\u00E8" +
 249.201 -            "\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF\u0000" +
 249.202 -            "\u00F1\u0000\u0000\u00F3\u0000\u0000\u00F5\u0000" +
 249.203 -            "\u0000\u0000\u0000\u0000\u0000\u00F7\u0000\u0000" +
 249.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00FC" +
 249.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.253 -            "\u0000\u00F9\u00FB\u0000\u0000\u0000\u0000\u0000" +
 249.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.282 -            "\u00C4\u0000\u00B3\u0000\u0000\u0000\u0000\u0000" +
 249.283 -            "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" +
 249.284 -            "\u00BF\u0000\u0000\u0000\u00C0\u0000\u0000\u0000" +
 249.285 -            "\u00D9\u0000\u0000\u0000\u00C3\u0000\u0000\u0000" +
 249.286 -            "\u0000\u0000\u0000\u0000\u00B4\u0000\u0000\u0000" +
 249.287 -            "\u0000\u0000\u0000\u0000\u00C2\u0000\u0000\u0000" +
 249.288 -            "\u0000\u0000\u0000\u0000\u00C1\u0000\u0000\u0000" +
 249.289 -            "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" +
 249.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.292 -            "\u00CD\u00BA\u00D5\u00D6\u00C9\u00B8\u00B7\u00BB" +
 249.293 -            "\u00D4\u00D3\u00C8\u00BE\u00BD\u00BC\u00C6\u00C7" +
 249.294 -            "\u00CC\u00B5\u00B6\u00B9\u00D1\u00D2\u00CB\u00CF" +
 249.295 -            "\u00D0\u00CA\u00D8\u00D7\u00CE\u0000\u0000\u0000" +
 249.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.298 -            "\u00DF\u0000\u0000\u0000\u00DC\u0000\u0000\u0000" +
 249.299 -            "\u00DB\u0000\u0000\u0000\u00DD\u0000\u0000\u0000" +
 249.300 -            "\u00DE\u00B0\u00B1\u00B2\u0000\u0000\u0000\u0000" +
 249.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.302 -            "\u00FE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.307 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.308 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.309 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.310 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.311 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.312 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 249.313 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 249.314 -
 249.315 -    private final static short index1[] = {
 249.316 -            0, 184, 184, 184, 439, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
 249.317 -            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
 249.318 -            184, 673, 904, 184, 184, 1160, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
 249.319 -            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
 249.320 -            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
 249.321 -            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
 249.322 -            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
 249.323 -            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
 249.324 -            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
 249.325 -            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
 249.326 -            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
 249.327 -            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
 249.328 -            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
 249.329 -            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
 249.330 -            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
 249.331 -            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
 249.332 -
 249.333 -        };
 249.334 -    }
 249.335 -}
   250.1 --- a/src/share/classes/sun/nio/cs/IBM874.java	Wed Jan 14 21:35:03 2009 -0800
   250.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   250.3 @@ -1,252 +0,0 @@
   250.4 -/*
   250.5 - * Copyright 2003-2005 Sun Microsystems, Inc.  All Rights Reserved.
   250.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   250.7 - *
   250.8 - * This code is free software; you can redistribute it and/or modify it
   250.9 - * under the terms of the GNU General Public License version 2 only, as
  250.10 - * published by the Free Software Foundation.  Sun designates this
  250.11 - * particular file as subject to the "Classpath" exception as provided
  250.12 - * by Sun in the LICENSE file that accompanied this code.
  250.13 - *
  250.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  250.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  250.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  250.17 - * version 2 for more details (a copy is included in the LICENSE file that
  250.18 - * accompanied this code).
  250.19 - *
  250.20 - * You should have received a copy of the GNU General Public License version
  250.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  250.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  250.23 - *
  250.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  250.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  250.26 - * have any questions.
  250.27 - */
  250.28 -
  250.29 -package sun.nio.cs;
  250.30 -
  250.31 -import java.nio.charset.Charset;
  250.32 -import java.nio.charset.CharsetDecoder;
  250.33 -import java.nio.charset.CharsetEncoder;
  250.34 -import sun.nio.cs.StandardCharsets;
  250.35 -import sun.nio.cs.SingleByteDecoder;
  250.36 -import sun.nio.cs.SingleByteEncoder;
  250.37 -import sun.nio.cs.HistoricallyNamedCharset;
  250.38 -
  250.39 -public class IBM874
  250.40 -    extends Charset
  250.41 -    implements HistoricallyNamedCharset
  250.42 -{
  250.43 -
  250.44 -    public IBM874() {
  250.45 -        super("x-IBM874", StandardCharsets.aliases_IBM874);
  250.46 -    }
  250.47 -
  250.48 -    public String historicalName() {
  250.49 -        return "Cp874";
  250.50 -    }
  250.51 -
  250.52 -    public boolean contains(Charset cs) {
  250.53 -        return (cs instanceof IBM874);
  250.54 -    }
  250.55 -
  250.56 -    public CharsetDecoder newDecoder() {
  250.57 -        return new Decoder(this);
  250.58 -    }
  250.59 -
  250.60 -    public CharsetEncoder newEncoder() {
  250.61 -        return new Encoder(this);
  250.62 -    }
  250.63 -
  250.64 -
  250.65 -    /**
  250.66 -     * These accessors are temporarily supplied while sun.io
  250.67 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  250.68 -     * These facilitate sharing of conversion tables between the
  250.69 -     * two co-existing implementations. When sun.io converters
  250.70 -     * are made extinct these will be unncessary and should be removed
  250.71 -     */
  250.72 -
  250.73 -    public String getDecoderSingleByteMappings() {
  250.74 -        return Decoder.byteToCharTable;
  250.75 -
  250.76 -    }
  250.77 -
  250.78 -    public short[] getEncoderIndex1() {
  250.79 -        return Encoder.index1;
  250.80 -
  250.81 -    }
  250.82 -    public String getEncoderIndex2() {
  250.83 -        return Encoder.index2;
  250.84 -
  250.85 -    }
  250.86 -
  250.87 -    private static class Decoder extends SingleByteDecoder {
  250.88 -            public Decoder(Charset cs) {
  250.89 -                super(cs, byteToCharTable);
  250.90 -        }
  250.91 -
  250.92 -        private final static String byteToCharTable =
  250.93 -
  250.94 -            "\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x80 - 0x87
  250.95 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x88 - 0x8F
  250.96 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x90 - 0x97
  250.97 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x98 - 0x9F
  250.98 -            "\u0E48\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07" +        // 0xA0 - 0xA7
  250.99 -            "\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F" +        // 0xA8 - 0xAF
 250.100 -            "\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17" +        // 0xB0 - 0xB7
 250.101 -            "\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F" +        // 0xB8 - 0xBF
 250.102 -            "\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27" +        // 0xC0 - 0xC7
 250.103 -            "\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F" +        // 0xC8 - 0xCF
 250.104 -            "\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37" +        // 0xD0 - 0xD7
 250.105 -            "\u0E38\u0E39\u0E3A\u0E49\u0E4A\u0E4B\u0E4C\u0E3F" +        // 0xD8 - 0xDF
 250.106 -            "\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47" +        // 0xE0 - 0xE7
 250.107 -            "\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F" +        // 0xE8 - 0xEF
 250.108 -            "\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57" +        // 0xF0 - 0xF7
 250.109 -            "\u0E58\u0E59\u0E5A\u0E5B\u00A2\u00AC\u00A6\u00A0" +        // 0xF8 - 0xFF
 250.110 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 250.111 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 250.112 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 250.113 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 250.114 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 250.115 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 250.116 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 250.117 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 250.118 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 250.119 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 250.120 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 250.121 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 250.122 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 250.123 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 250.124 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 250.125 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 250.126 -
 250.127 -    }
 250.128 -
 250.129 -    private static class Encoder extends SingleByteEncoder {
 250.130 -            public Encoder(Charset cs) {
 250.131 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 250.132 -            }
 250.133 -
 250.134 -            private final static String index2 =
 250.135 -
 250.136 -
 250.137 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 250.138 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 250.139 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 250.140 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 250.141 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 250.142 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 250.143 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 250.144 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 250.145 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 250.146 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 250.147 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 250.148 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 250.149 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 250.150 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 250.151 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 250.152 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 250.153 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.157 -            "\u00FF\u0000\u00FC\u0000\u0000\u0000\u00FE\u0000" +
 250.158 -            "\u0000\u0000\u0000\u0000\u00FD\u0000\u0000\u0000" +
 250.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.160 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.162 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.190 -            "\u0000\u0000\u0000\u0000\u0000\u00A1\u00A2\u00A3" +
 250.191 -            "\u00A4\u00A5\u00A6\u00A7\u00A8\u00A9\u00AA\u00AB" +
 250.192 -            "\u00AC\u00AD\u00AE\u00AF\u00B0\u00B1\u00B2\u00B3" +
 250.193 -            "\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u00BA\u00BB" +
 250.194 -            "\u00BC\u00BD\u00BE\u00BF\u00C0\u00C1\u00C2\u00C3" +
 250.195 -            "\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB" +
 250.196 -            "\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3" +
 250.197 -            "\u00D4\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA\u0000" +
 250.198 -            "\u0000\u0000\u0000\u00DF\u00E0\u00E1\u00E2\u00E3" +
 250.199 -            "\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB" +
 250.200 -            "\u00EC\u00ED\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3" +
 250.201 -            "\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA\u00FB" +
 250.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.223 -            "\u0000\u0000\u0000\u0000\u0080\u0000\u0000\u0000" +
 250.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 250.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 250.234 -
 250.235 -    private final static short index1[] = {
 250.236 -            0, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 428, 173,
 250.237 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 250.238 -            520, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 250.239 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 250.240 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 250.241 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 250.242 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 250.243 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 250.244 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 250.245 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 250.246 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 250.247 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 250.248 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 250.249 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 250.250 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 250.251 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 250.252 -
 250.253 -        };
 250.254 -    }
 250.255 -}
   251.1 --- a/src/share/classes/sun/nio/cs/ISO_8859_13.java	Wed Jan 14 21:35:03 2009 -0800
   251.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   251.3 @@ -1,266 +0,0 @@
   251.4 -/*
   251.5 - * Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
   251.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   251.7 - *
   251.8 - * This code is free software; you can redistribute it and/or modify it
   251.9 - * under the terms of the GNU General Public License version 2 only, as
  251.10 - * published by the Free Software Foundation.  Sun designates this
  251.11 - * particular file as subject to the "Classpath" exception as provided
  251.12 - * by Sun in the LICENSE file that accompanied this code.
  251.13 - *
  251.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  251.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  251.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  251.17 - * version 2 for more details (a copy is included in the LICENSE file that
  251.18 - * accompanied this code).
  251.19 - *
  251.20 - * You should have received a copy of the GNU General Public License version
  251.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  251.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  251.23 - *
  251.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  251.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  251.26 - * have any questions.
  251.27 - */
  251.28 -
  251.29 -package sun.nio.cs;
  251.30 -
  251.31 -import java.nio.charset.Charset;
  251.32 -import java.nio.charset.CharsetDecoder;
  251.33 -import java.nio.charset.CharsetEncoder;
  251.34 -import sun.nio.cs.StandardCharsets;
  251.35 -import sun.nio.cs.SingleByteDecoder;
  251.36 -import sun.nio.cs.SingleByteEncoder;
  251.37 -import sun.nio.cs.HistoricallyNamedCharset;
  251.38 -
  251.39 -public class ISO_8859_13
  251.40 -    extends Charset
  251.41 -    implements HistoricallyNamedCharset
  251.42 -{
  251.43 -
  251.44 -    public ISO_8859_13() {
  251.45 -        super("ISO-8859-13", StandardCharsets.aliases_ISO_8859_13);
  251.46 -    }
  251.47 -
  251.48 -    public String historicalName() {
  251.49 -        return "ISO8859_13";
  251.50 -    }
  251.51 -
  251.52 -    public boolean contains(Charset cs) {
  251.53 -        return ((cs.name().equals("US-ASCII"))
  251.54 -                || (cs instanceof ISO_8859_13));
  251.55 -    }
  251.56 -
  251.57 -    public CharsetDecoder newDecoder() {
  251.58 -        return new Decoder(this);
  251.59 -    }
  251.60 -
  251.61 -    public CharsetEncoder newEncoder() {
  251.62 -        return new Encoder(this);
  251.63 -    }
  251.64 -
  251.65 -
  251.66 -    /**
  251.67 -     * These accessors are temporarily supplied while sun.io
  251.68 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  251.69 -     * These facilitate sharing of conversion tables between the
  251.70 -     * two co-existing implementations. When sun.io converters
  251.71 -     * are made extinct these will be unncessary and should be removed
  251.72 -     */
  251.73 -
  251.74 -    public String getDecoderSingleByteMappings() {
  251.75 -        return Decoder.byteToCharTable;
  251.76 -
  251.77 -    }
  251.78 -
  251.79 -    public short[] getEncoderIndex1() {
  251.80 -        return Encoder.index1;
  251.81 -
  251.82 -    }
  251.83 -    public String getEncoderIndex2() {
  251.84 -        return Encoder.index2;
  251.85 -
  251.86 -    }
  251.87 -
  251.88 -
  251.89 -    private static class Decoder extends SingleByteDecoder {
  251.90 -        public Decoder(Charset cs) {
  251.91 -            super(cs, byteToCharTable);
  251.92 -        }
  251.93 -
  251.94 -        private final static  String byteToCharTable =
  251.95 -
  251.96 -        "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +     // 0x80 - 0x87
  251.97 -        "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +     // 0x88 - 0x8F
  251.98 -        "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +     // 0x90 - 0x97
  251.99 -        "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +     // 0x98 - 0x9F
 251.100 -        "\u00A0\u201D\u00A2\u00A3\u00A4\u201E\u00A6\u00A7" +     // 0xA0 - 0xA7
 251.101 -        "\u00D8\u00A9\u0156\u00AB\u00AC\u00AD\u00AE\u00C6" +     // 0xA8 - 0xAF
 251.102 -        "\u00B0\u00B1\u00B2\u00B3\u201C\u00B5\u00B6\u00B7" +     // 0xB0 - 0xB7
 251.103 -        "\u00F8\u00B9\u0157\u00BB\u00BC\u00BD\u00BE\u00E6" +     // 0xB8 - 0xBF
 251.104 -        "\u0104\u012E\u0100\u0106\u00C4\u00C5\u0118\u0112" +     // 0xC0 - 0xC7
 251.105 -        "\u010C\u00C9\u0179\u0116\u0122\u0136\u012A\u013B" +     // 0xC8 - 0xCF
 251.106 -        "\u0160\u0143\u0145\u00D3\u014C\u00D5\u00D6\u00D7" +     // 0xD0 - 0xD7
 251.107 -        "\u0172\u0141\u015A\u016A\u00DC\u017B\u017D\u00DF" +     // 0xD8 - 0xDF
 251.108 -        "\u0105\u012F\u0101\u0107\u00E4\u00E5\u0119\u0113" +     // 0xE0 - 0xE7
 251.109 -        "\u010D\u00E9\u017A\u0117\u0123\u0137\u012B\u013C" +     // 0xE8 - 0xEF
 251.110 -        "\u0161\u0144\u0146\u00F3\u014D\u00F5\u00F6\u00F7" +     // 0xF0 - 0xF7
 251.111 -        "\u0173\u0142\u015B\u016B\u00FC\u017C\u017E\u2019" +     // 0xF8 - 0xFF
 251.112 -        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 251.113 -        "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 251.114 -        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 251.115 -        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 251.116 -        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 251.117 -        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 251.118 -        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 251.119 -        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 251.120 -        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 251.121 -        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 251.122 -        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 251.123 -        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 251.124 -        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 251.125 -        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 251.126 -        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 251.127 -        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 251.128 -
 251.129 -
 251.130 -    }
 251.131 -
 251.132 -    private static class Encoder extends SingleByteEncoder {
 251.133 -        public Encoder(Charset cs) {
 251.134 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 251.135 -        }
 251.136 -
 251.137 -    private final static String index2 =
 251.138 -
 251.139 -        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 251.140 -        "\b\t\n\u000B\f\r\u000E\u000F" +
 251.141 -        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 251.142 -        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 251.143 -        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 251.144 -        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 251.145 -        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 251.146 -        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 251.147 -        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 251.148 -        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 251.149 -        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 251.150 -        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 251.151 -        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 251.152 -        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 251.153 -        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 251.154 -        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 251.155 -        "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 251.156 -        "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
 251.157 -        "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
 251.158 -        "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
 251.159 -        "\u00A0\u0000\u00A2\u00A3\u00A4\u0000\u00A6\u00A7" +
 251.160 -        "\u0000\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u0000" +
 251.161 -        "\u00B0\u00B1\u00B2\u00B3\u0000\u00B5\u00B6\u00B7" +
 251.162 -        "\u0000\u00B9\u0000\u00BB\u00BC\u00BD\u00BE\u0000" +
 251.163 -        "\u0000\u0000\u0000\u0000\u00C4\u00C5\u00AF\u0000" +
 251.164 -        "\u0000\u00C9\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.165 -        "\u0000\u0000\u0000\u00D3\u0000\u00D5\u00D6\u00D7" +
 251.166 -        "\u00A8\u0000\u0000\u0000\u00DC\u0000\u0000\u00DF" +
 251.167 -        "\u0000\u0000\u0000\u0000\u00E4\u00E5\u00BF\u0000" +
 251.168 -        "\u0000\u00E9\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.169 -        "\u0000\u0000\u0000\u00F3\u0000\u00F5\u00F6\u00F7" +
 251.170 -        "\u00B8\u0000\u0000\u0000\u00FC\u0000\u0000\u0000" +
 251.171 -        "\u00C2\u00E2\u0000\u0000\u00C0\u00E0\u00C3\u00E3" +
 251.172 -        "\u0000\u0000\u0000\u0000\u00C8\u00E8\u0000\u0000" +
 251.173 -        "\u0000\u0000\u00C7\u00E7\u0000\u0000\u00CB\u00EB" +
 251.174 -        "\u00C6\u00E6\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.175 -        "\u0000\u0000\u00CC\u00EC\u0000\u0000\u0000\u0000" +
 251.176 -        "\u0000\u0000\u00CE\u00EE\u0000\u0000\u00C1\u00E1" +
 251.177 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u00CD\u00ED" +
 251.178 -        "\u0000\u0000\u0000\u00CF\u00EF\u0000\u0000\u0000" +
 251.179 -        "\u0000\u00D9\u00F9\u00D1\u00F1\u00D2\u00F2\u0000" +
 251.180 -        "\u0000\u0000\u0000\u0000\u00D4\u00F4\u0000\u0000" +
 251.181 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u00AA\u00BA" +
 251.182 -        "\u0000\u0000\u00DA\u00FA\u0000\u0000\u0000\u0000" +
 251.183 -        "\u00D0\u00F0\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.184 -        "\u0000\u0000\u00DB\u00FB\u0000\u0000\u0000\u0000" +
 251.185 -        "\u0000\u0000\u00D8\u00F8\u0000\u0000\u0000\u0000" +
 251.186 -        "\u0000\u00CA\u00EA\u00DD\u00FD\u00DE\u00FE\u0000" +
 251.187 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.188 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.189 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.190 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.191 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.192 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.193 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.194 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.195 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.196 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.197 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.198 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.199 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.200 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.201 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.202 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.203 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.204 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.205 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.206 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.207 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.208 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.209 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.210 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.211 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.212 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.213 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.214 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.215 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.216 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.217 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.218 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00FF" +
 251.219 -        "\u0000\u0000\u00B4\u00A1\u00A5\u0000\u0000\u0000" +
 251.220 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.221 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.222 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.223 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.224 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.225 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.226 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.227 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.228 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.229 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.230 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.231 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.232 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.233 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.234 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.235 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.236 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.237 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.238 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.239 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.240 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.241 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.242 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.243 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.244 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.245 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.246 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 251.247 -        "\u0000\u0000\u0000\u0000\u0000\u0000";
 251.248 -
 251.249 -    private final static short index1[] = {
 251.250 -        0, 256, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 251.251 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 251.252 -        614, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 251.253 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 251.254 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 251.255 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 251.256 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 251.257 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 251.258 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 251.259 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 251.260 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 251.261 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 251.262 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 251.263 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 251.264 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 251.265 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 251.266 -
 251.267 -      };
 251.268 -   }
 251.269 -}
   252.1 --- a/src/share/classes/sun/nio/cs/ISO_8859_15.java	Wed Jan 14 21:35:03 2009 -0800
   252.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   252.3 @@ -1,249 +0,0 @@
   252.4 -
   252.5 -/*
   252.6 - * Copyright 2000-2004 Sun Microsystems, Inc.  All Rights Reserved.
   252.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   252.8 - *
   252.9 - * This code is free software; you can redistribute it and/or modify it
  252.10 - * under the terms of the GNU General Public License version 2 only, as
  252.11 - * published by the Free Software Foundation.  Sun designates this
  252.12 - * particular file as subject to the "Classpath" exception as provided
  252.13 - * by Sun in the LICENSE file that accompanied this code.
  252.14 - *
  252.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  252.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  252.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  252.18 - * version 2 for more details (a copy is included in the LICENSE file that
  252.19 - * accompanied this code).
  252.20 - *
  252.21 - * You should have received a copy of the GNU General Public License version
  252.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  252.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  252.24 - *
  252.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  252.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  252.27 - * have any questions.
  252.28 - */
  252.29 -
  252.30 -package sun.nio.cs;
  252.31 -
  252.32 -import java.nio.ByteBuffer;
  252.33 -import java.nio.CharBuffer;
  252.34 -import java.nio.charset.Charset;
  252.35 -import java.nio.charset.CharsetDecoder;
  252.36 -import java.nio.charset.CharsetEncoder;
  252.37 -import java.nio.charset.CharacterCodingException;
  252.38 -import java.nio.charset.MalformedInputException;
  252.39 -import java.nio.charset.UnmappableCharacterException;
  252.40 -
  252.41 -
  252.42 -public class ISO_8859_15 extends Charset implements HistoricallyNamedCharset
  252.43 -{
  252.44 -
  252.45 -    public ISO_8859_15() {
  252.46 -        super("ISO-8859-15", StandardCharsets.aliases_ISO_8859_15);
  252.47 -    }
  252.48 -
  252.49 -    public String historicalName() {
  252.50 -        return "ISO8859_15";
  252.51 -    }
  252.52 -
  252.53 -    public boolean contains(Charset cs) {
  252.54 -        return ((cs instanceof US_ASCII)
  252.55 -                || (cs instanceof ISO_8859_1)
  252.56 -                || (cs instanceof ISO_8859_15));
  252.57 -    }
  252.58 -
  252.59 -    public CharsetDecoder newDecoder() {
  252.60 -        return new Decoder(this);
  252.61 -    }
  252.62 -
  252.63 -    public CharsetEncoder newEncoder() {
  252.64 -        return new Encoder(this);
  252.65 -    }
  252.66 -
  252.67 -
  252.68 -    /**
  252.69 -     * These accessors are temporarily supplied while sun.io
  252.70 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  252.71 -     * These facilitate sharing of conversion tables between the
  252.72 -     * two co-existing implementations. When sun.io converters
  252.73 -     * are made extinct these will be unncessary and should be removed
  252.74 -     */
  252.75 -
  252.76 -    public String getDecoderSingleByteMappings() {
  252.77 -        return Decoder.byteToCharTable;
  252.78 -
  252.79 -    }
  252.80 -
  252.81 -    public short[] getEncoderIndex1() {
  252.82 -        return Encoder.index1;
  252.83 -
  252.84 -    }
  252.85 -    public String getEncoderIndex2() {
  252.86 -        return Encoder.index2;
  252.87 -
  252.88 -    }
  252.89 -
  252.90 -    private static class Decoder extends SingleByteDecoder {
  252.91 -
  252.92 -        public Decoder(Charset cs) {
  252.93 -            super(cs, byteToCharTable);
  252.94 -        }
  252.95 -
  252.96 -        private final static String byteToCharTable =
  252.97 -            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +     // 0x80 - 0x87
  252.98 -            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +     // 0x88 - 0x8F
  252.99 -            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +     // 0x90 - 0x97
 252.100 -            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +     // 0x98 - 0x9F
 252.101 -            "\u00A0\u00A1\u00A2\u00A3\u20AC\u00A5\u0160\u00A7" +     // 0xA0 - 0xA7
 252.102 -            "\u0161\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +     // 0xA8 - 0xAF
 252.103 -            "\u00B0\u00B1\u00B2\u00B3\u017D\u00B5\u00B6\u00B7" +     // 0xB0 - 0xB7
 252.104 -            "\u017E\u00B9\u00BA\u00BB\u0152\u0153\u0178\u00BF" +     // 0xB8 - 0xBF
 252.105 -            "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +     // 0xC0 - 0xC7
 252.106 -            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +     // 0xC8 - 0xCF
 252.107 -            "\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +     // 0xD0 - 0xD7
 252.108 -            "\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE\u00DF" +     // 0xD8 - 0xDF
 252.109 -            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +     // 0xE0 - 0xE7
 252.110 -            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +     // 0xE8 - 0xEF
 252.111 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +     // 0xF0 - 0xF7
 252.112 -            "\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u00FE\u00FF" +     // 0xF8 - 0xFF
 252.113 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 252.114 -            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 252.115 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 252.116 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 252.117 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 252.118 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 252.119 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 252.120 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 252.121 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 252.122 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 252.123 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 252.124 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 252.125 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 252.126 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 252.127 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 252.128 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 252.129 -
 252.130 -    }
 252.131 -
 252.132 -    private static class Encoder extends SingleByteEncoder {
 252.133 -
 252.134 -        public Encoder(Charset cs) {
 252.135 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 252.136 -        }
 252.137 -
 252.138 -        private final static String index2 =
 252.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 252.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 252.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 252.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 252.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 252.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 252.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 252.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 252.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 252.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 252.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 252.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 252.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 252.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 252.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 252.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 252.155 -            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 252.156 -            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
 252.157 -            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
 252.158 -            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
 252.159 -            "\u00A0\u00A1\u00A2\u00A3\u0000\u00A5\u0000\u00A7" +
 252.160 -            "\u0000\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +
 252.161 -            "\u00B0\u00B1\u00B2\u00B3\u0000\u00B5\u00B6\u00B7" +
 252.162 -            "\u0000\u00B9\u00BA\u00BB\u0000\u0000\u0000\u00BF" +
 252.163 -            "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 252.164 -            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +
 252.165 -            "\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +
 252.166 -            "\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE\u00DF" +
 252.167 -            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +
 252.168 -            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +
 252.169 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 252.170 -            "\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u00FE\u00FF" +
 252.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.181 -            "\u0000\u0000\u00BC\u00BD\u0000\u0000\u0000\u0000" +
 252.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.183 -            "\u00A6\u00A8\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.186 -            "\u00BE\u0000\u0000\u0000\u0000\u00B4\u00B8\u0000" +
 252.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00A4" +
 252.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 252.229 -            "\u0000\u0000\u0000";
 252.230 -
 252.231 -        private final static short index1[] = {
 252.232 -            0, 256, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 252.233 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 252.234 -            467, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 252.235 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 252.236 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 252.237 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 252.238 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 252.239 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 252.240 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 252.241 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 252.242 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 252.243 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 252.244 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 252.245 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 252.246 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 252.247 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 252.248 -        };
 252.249 -
 252.250 -    }
 252.251 -
 252.252 -}
   253.1 --- a/src/share/classes/sun/nio/cs/ISO_8859_2.java	Wed Jan 14 21:35:03 2009 -0800
   253.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   253.3 @@ -1,246 +0,0 @@
   253.4 -/*
   253.5 - * Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
   253.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   253.7 - *
   253.8 - * This code is free software; you can redistribute it and/or modify it
   253.9 - * under the terms of the GNU General Public License version 2 only, as
  253.10 - * published by the Free Software Foundation.  Sun designates this
  253.11 - * particular file as subject to the "Classpath" exception as provided
  253.12 - * by Sun in the LICENSE file that accompanied this code.
  253.13 - *
  253.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  253.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  253.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  253.17 - * version 2 for more details (a copy is included in the LICENSE file that
  253.18 - * accompanied this code).
  253.19 - *
  253.20 - * You should have received a copy of the GNU General Public License version
  253.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  253.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  253.23 - *
  253.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  253.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  253.26 - * have any questions.
  253.27 - */
  253.28 -
  253.29 -package sun.nio.cs;
  253.30 -
  253.31 -import java.nio.ByteBuffer;
  253.32 -import java.nio.CharBuffer;
  253.33 -import java.nio.charset.Charset;
  253.34 -import java.nio.charset.CharsetDecoder;
  253.35 -import java.nio.charset.CharsetEncoder;
  253.36 -import java.nio.charset.CharacterCodingException;
  253.37 -import java.nio.charset.MalformedInputException;
  253.38 -import java.nio.charset.UnmappableCharacterException;
  253.39 -import sun.nio.cs.StandardCharsets;
  253.40 -import sun.nio.cs.SingleByteDecoder;
  253.41 -import sun.nio.cs.SingleByteEncoder;
  253.42 -import sun.nio.cs.HistoricallyNamedCharset;
  253.43 -
  253.44 -
  253.45 -public class ISO_8859_2
  253.46 -    extends Charset
  253.47 -    implements HistoricallyNamedCharset
  253.48 -{
  253.49 -
  253.50 -    public ISO_8859_2() {
  253.51 -        super("ISO-8859-2", StandardCharsets.aliases_ISO_8859_2);
  253.52 -    }
  253.53 -
  253.54 -    public String historicalName() {
  253.55 -        return "ISO8859_2";
  253.56 -    }
  253.57 -
  253.58 -    public boolean contains(Charset cs) {
  253.59 -        return ((cs.name().equals("US-ASCII"))
  253.60 -                || (cs instanceof ISO_8859_2));
  253.61 -    }
  253.62 -
  253.63 -    public CharsetDecoder newDecoder() {
  253.64 -        return new Decoder(this);
  253.65 -    }
  253.66 -
  253.67 -    public CharsetEncoder newEncoder() {
  253.68 -        return new Encoder(this);
  253.69 -    }
  253.70 -
  253.71 -
  253.72 -    /**
  253.73 -     * These accessors are temporarily supplied while sun.io
  253.74 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  253.75 -     * These facilitate sharing of conversion tables between the
  253.76 -     * two co-existing implementations. When sun.io converters
  253.77 -     * are made extinct these will be unncessary and should be removed
  253.78 -     */
  253.79 -
  253.80 -    public String getDecoderSingleByteMappings() {
  253.81 -        return Decoder.byteToCharTable;
  253.82 -
  253.83 -    }
  253.84 -
  253.85 -    public short[] getEncoderIndex1() {
  253.86 -        return Encoder.index1;
  253.87 -
  253.88 -    }
  253.89 -    public String getEncoderIndex2() {
  253.90 -        return Encoder.index2;
  253.91 -
  253.92 -    }
  253.93 -
  253.94 -    private static class Decoder extends SingleByteDecoder {
  253.95 -        public Decoder(Charset cs) {
  253.96 -            super(cs, byteToCharTable);
  253.97 -        }
  253.98 -
  253.99 -        private final static String byteToCharTable =
 253.100 -
 253.101 -            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +     // 0x80 - 0x87
 253.102 -            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +     // 0x88 - 0x8F
 253.103 -            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +     // 0x90 - 0x97
 253.104 -            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +     // 0x98 - 0x9F
 253.105 -            "\u00A0\u0104\u02D8\u0141\u00A4\u013D\u015A\u00A7" +     // 0xA0 - 0xA7
 253.106 -            "\u00A8\u0160\u015E\u0164\u0179\u00AD\u017D\u017B" +     // 0xA8 - 0xAF
 253.107 -            "\u00B0\u0105\u02DB\u0142\u00B4\u013E\u015B\u02C7" +     // 0xB0 - 0xB7
 253.108 -            "\u00B8\u0161\u015F\u0165\u017A\u02DD\u017E\u017C" +     // 0xB8 - 0xBF
 253.109 -            "\u0154\u00C1\u00C2\u0102\u00C4\u0139\u0106\u00C7" +     // 0xC0 - 0xC7
 253.110 -            "\u010C\u00C9\u0118\u00CB\u011A\u00CD\u00CE\u010E" +     // 0xC8 - 0xCF
 253.111 -            "\u0110\u0143\u0147\u00D3\u00D4\u0150\u00D6\u00D7" +     // 0xD0 - 0xD7
 253.112 -            "\u0158\u016E\u00DA\u0170\u00DC\u00DD\u0162\u00DF" +     // 0xD8 - 0xDF
 253.113 -            "\u0155\u00E1\u00E2\u0103\u00E4\u013A\u0107\u00E7" +     // 0xE0 - 0xE7
 253.114 -            "\u010D\u00E9\u0119\u00EB\u011B\u00ED\u00EE\u010F" +     // 0xE8 - 0xEF
 253.115 -            "\u0111\u0144\u0148\u00F3\u00F4\u0151\u00F6\u00F7" +     // 0xF0 - 0xF7
 253.116 -            "\u0159\u016F\u00FA\u0171\u00FC\u00FD\u0163\u02D9" +     // 0xF8 - 0xFF
 253.117 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 253.118 -            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 253.119 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 253.120 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 253.121 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 253.122 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 253.123 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 253.124 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 253.125 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 253.126 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 253.127 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 253.128 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 253.129 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 253.130 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 253.131 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 253.132 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 253.133 -    }
 253.134 -
 253.135 -    private static class Encoder extends SingleByteEncoder {
 253.136 -        public Encoder(Charset cs) {
 253.137 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 253.138 -        }
 253.139 -
 253.140 -        private final static String index2 =
 253.141 -
 253.142 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 253.143 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 253.144 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 253.145 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 253.146 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 253.147 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 253.148 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 253.149 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 253.150 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 253.151 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 253.152 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 253.153 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 253.154 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 253.155 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 253.156 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 253.157 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 253.158 -            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 253.159 -            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
 253.160 -            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
 253.161 -            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
 253.162 -            "\u00A0\u0000\u0000\u0000\u00A4\u0000\u0000\u00A7" +
 253.163 -            "\u00A8\u0000\u0000\u0000\u0000\u00AD\u0000\u0000" +
 253.164 -            "\u00B0\u0000\u0000\u0000\u00B4\u0000\u0000\u0000" +
 253.165 -            "\u00B8\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.166 -            "\u0000\u00C1\u00C2\u0000\u00C4\u0000\u0000\u00C7" +
 253.167 -            "\u0000\u00C9\u0000\u00CB\u0000\u00CD\u00CE\u0000" +
 253.168 -            "\u0000\u0000\u0000\u00D3\u00D4\u0000\u00D6\u00D7" +
 253.169 -            "\u0000\u0000\u00DA\u0000\u00DC\u00DD\u0000\u00DF" +
 253.170 -            "\u0000\u00E1\u00E2\u0000\u00E4\u0000\u0000\u00E7" +
 253.171 -            "\u0000\u00E9\u0000\u00EB\u0000\u00ED\u00EE\u0000" +
 253.172 -            "\u0000\u0000\u0000\u00F3\u00F4\u0000\u00F6\u00F7" +
 253.173 -            "\u0000\u0000\u00FA\u0000\u00FC\u00FD\u0000\u0000" +
 253.174 -            "\u00C3\u00E3\u00A1\u00B1\u00C6\u00E6\u0000\u0000" +
 253.175 -            "\u0000\u0000\u00C8\u00E8\u00CF\u00EF\u00D0\u00F0" +
 253.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00CA\u00EA" +
 253.177 -            "\u00CC\u00EC\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C5" +
 253.181 -            "\u00E5\u0000\u0000\u00A5\u00B5\u0000\u0000\u00A3" +
 253.182 -            "\u00B3\u00D1\u00F1\u0000\u0000\u00D2\u00F2\u0000" +
 253.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00D5\u00F5" +
 253.184 -            "\u0000\u0000\u00C0\u00E0\u0000\u0000\u00D8\u00F8" +
 253.185 -            "\u00A6\u00B6\u0000\u0000\u00AA\u00BA\u00A9\u00B9" +
 253.186 -            "\u00DE\u00FE\u00AB\u00BB\u0000\u0000\u0000\u0000" +
 253.187 -            "\u0000\u0000\u0000\u0000\u00D9\u00F9\u00DB\u00FB" +
 253.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00AC" +
 253.189 -            "\u00BC\u00AF\u00BF\u00AE\u00BE\u0000\u0000\u0000" +
 253.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.221 -            "\u0000\u0000\u0000\u0000\u0000\u00B7\u0000\u0000" +
 253.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00A2\u00FF" +
 253.224 -            "\u0000\u00B2\u0000\u00BD\u0000\u0000\u0000\u0000" +
 253.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 253.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000";
 253.229 -
 253.230 -        private final static short index1[] = {
 253.231 -            0, 254, 438, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 253.232 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 253.233 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 253.234 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 253.235 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 253.236 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 253.237 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 253.238 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 253.239 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 253.240 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 253.241 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 253.242 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 253.243 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 253.244 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 253.245 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 253.246 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 253.247 -        };
 253.248 -    }
 253.249 -}
   254.1 --- a/src/share/classes/sun/nio/cs/ISO_8859_4.java	Wed Jan 14 21:35:03 2009 -0800
   254.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   254.3 @@ -1,244 +0,0 @@
   254.4 -/*
   254.5 - * Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
   254.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   254.7 - *
   254.8 - * This code is free software; you can redistribute it and/or modify it
   254.9 - * under the terms of the GNU General Public License version 2 only, as
  254.10 - * published by the Free Software Foundation.  Sun designates this
  254.11 - * particular file as subject to the "Classpath" exception as provided
  254.12 - * by Sun in the LICENSE file that accompanied this code.
  254.13 - *
  254.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  254.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  254.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  254.17 - * version 2 for more details (a copy is included in the LICENSE file that
  254.18 - * accompanied this code).
  254.19 - *
  254.20 - * You should have received a copy of the GNU General Public License version
  254.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  254.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  254.23 - *
  254.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  254.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  254.26 - * have any questions.
  254.27 - */
  254.28 -
  254.29 -package sun.nio.cs;
  254.30 -
  254.31 -import java.nio.charset.Charset;
  254.32 -import java.nio.charset.CharsetDecoder;
  254.33 -import java.nio.charset.CharsetEncoder;
  254.34 -import sun.nio.cs.StandardCharsets;
  254.35 -import sun.nio.cs.SingleByteDecoder;
  254.36 -import sun.nio.cs.SingleByteEncoder;
  254.37 -import sun.nio.cs.HistoricallyNamedCharset;
  254.38 -
  254.39 -public class ISO_8859_4
  254.40 -    extends Charset
  254.41 -    implements HistoricallyNamedCharset
  254.42 -{
  254.43 -
  254.44 -    public ISO_8859_4() {
  254.45 -        super("ISO-8859-4", StandardCharsets.aliases_ISO_8859_4);
  254.46 -    }
  254.47 -
  254.48 -    public String historicalName() {
  254.49 -        return "ISO8859_4";
  254.50 -    }
  254.51 -
  254.52 -    public boolean contains(Charset cs) {
  254.53 -        return ((cs.name().equals("US-ASCII"))
  254.54 -                || (cs instanceof ISO_8859_4));
  254.55 -    }
  254.56 -
  254.57 -    public CharsetDecoder newDecoder() {
  254.58 -        return new Decoder(this);
  254.59 -    }
  254.60 -
  254.61 -    public CharsetEncoder newEncoder() {
  254.62 -        return new Encoder(this);
  254.63 -    }
  254.64 -
  254.65 -
  254.66 -    /**
  254.67 -     * These accessors are temporarily supplied while sun.io
  254.68 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  254.69 -     * These facilitate sharing of conversion tables between the
  254.70 -     * two co-existing implementations. When sun.io converters
  254.71 -     * are made extinct these will be unncessary and should be removed
  254.72 -     */
  254.73 -
  254.74 -    public String getDecoderSingleByteMappings() {
  254.75 -        return Decoder.byteToCharTable;
  254.76 -
  254.77 -    }
  254.78 -
  254.79 -    public short[] getEncoderIndex1() {
  254.80 -        return Encoder.index1;
  254.81 -
  254.82 -    }
  254.83 -    public String getEncoderIndex2() {
  254.84 -        return Encoder.index2;
  254.85 -
  254.86 -    }
  254.87 -
  254.88 -
  254.89 -    private static class Decoder extends SingleByteDecoder {
  254.90 -        public Decoder(Charset cs) {
  254.91 -            super(cs, byteToCharTable);
  254.92 -        }
  254.93 -
  254.94 -        private final static  String byteToCharTable =
  254.95 -
  254.96 -        "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +     // 0x80 - 0x87
  254.97 -        "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +     // 0x88 - 0x8F
  254.98 -        "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +     // 0x90 - 0x97
  254.99 -        "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +     // 0x98 - 0x9F
 254.100 -        "\u00A0\u0104\u0138\u0156\u00A4\u0128\u013B\u00A7" +     // 0xA0 - 0xA7
 254.101 -        "\u00A8\u0160\u0112\u0122\u0166\u00AD\u017D\u00AF" +     // 0xA8 - 0xAF
 254.102 -        "\u00B0\u0105\u02DB\u0157\u00B4\u0129\u013C\u02C7" +     // 0xB0 - 0xB7
 254.103 -        "\u00B8\u0161\u0113\u0123\u0167\u014A\u017E\u014B" +     // 0xB8 - 0xBF
 254.104 -        "\u0100\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u012E" +     // 0xC0 - 0xC7
 254.105 -        "\u010C\u00C9\u0118\u00CB\u0116\u00CD\u00CE\u012A" +     // 0xC8 - 0xCF
 254.106 -        "\u0110\u0145\u014C\u0136\u00D4\u00D5\u00D6\u00D7" +     // 0xD0 - 0xD7
 254.107 -        "\u00D8\u0172\u00DA\u00DB\u00DC\u0168\u016A\u00DF" +     // 0xD8 - 0xDF
 254.108 -        "\u0101\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u012F" +     // 0xE0 - 0xE7
 254.109 -        "\u010D\u00E9\u0119\u00EB\u0117\u00ED\u00EE\u012B" +     // 0xE8 - 0xEF
 254.110 -        "\u0111\u0146\u014D\u0137\u00F4\u00F5\u00F6\u00F7" +     // 0xF0 - 0xF7
 254.111 -        "\u00F8\u0173\u00FA\u00FB\u00FC\u0169\u016B\u02D9" +     // 0xF8 - 0xFF
 254.112 -        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 254.113 -        "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 254.114 -        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 254.115 -        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 254.116 -        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 254.117 -        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 254.118 -        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 254.119 -        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 254.120 -        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 254.121 -        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 254.122 -        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 254.123 -        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 254.124 -        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 254.125 -        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 254.126 -        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 254.127 -        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 254.128 -
 254.129 -
 254.130 -    }
 254.131 -
 254.132 -    private static class Encoder extends SingleByteEncoder {
 254.133 -        public Encoder(Charset cs) {
 254.134 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 254.135 -        }
 254.136 -
 254.137 -    private final static String index2 =
 254.138 -
 254.139 -        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 254.140 -        "\b\t\n\u000B\f\r\u000E\u000F" +
 254.141 -        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 254.142 -        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 254.143 -        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 254.144 -        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 254.145 -        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 254.146 -        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 254.147 -        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 254.148 -        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 254.149 -        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 254.150 -        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 254.151 -        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 254.152 -        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 254.153 -        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 254.154 -        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 254.155 -        "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 254.156 -        "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
 254.157 -        "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
 254.158 -        "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
 254.159 -        "\u00A0\u0000\u0000\u0000\u00A4\u0000\u0000\u00A7" +
 254.160 -        "\u00A8\u0000\u0000\u0000\u0000\u00AD\u0000\u00AF" +
 254.161 -        "\u00B0\u0000\u0000\u0000\u00B4\u0000\u0000\u0000" +
 254.162 -        "\u00B8\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.163 -        "\u0000\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u0000" +
 254.164 -        "\u0000\u00C9\u0000\u00CB\u0000\u00CD\u00CE\u0000" +
 254.165 -        "\u0000\u0000\u0000\u0000\u00D4\u00D5\u00D6\u00D7" +
 254.166 -        "\u00D8\u0000\u00DA\u00DB\u00DC\u0000\u0000\u00DF" +
 254.167 -        "\u0000\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u0000" +
 254.168 -        "\u0000\u00E9\u0000\u00EB\u0000\u00ED\u00EE\u0000" +
 254.169 -        "\u0000\u0000\u0000\u0000\u00F4\u00F5\u00F6\u00F7" +
 254.170 -        "\u00F8\u0000\u00FA\u00FB\u00FC\u0000\u0000\u0000" +
 254.171 -        "\u00C0\u00E0\u0000\u0000\u00A1\u00B1\u0000\u0000" +
 254.172 -        "\u0000\u0000\u0000\u0000\u00C8\u00E8\u0000\u0000" +
 254.173 -        "\u00D0\u00F0\u00AA\u00BA\u0000\u0000\u00CC\u00EC" +
 254.174 -        "\u00CA\u00EA\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.175 -        "\u0000\u0000\u00AB\u00BB\u0000\u0000\u0000\u0000" +
 254.176 -        "\u00A5\u00B5\u00CF\u00EF\u0000\u0000\u00C7\u00E7" +
 254.177 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u00D3\u00F3" +
 254.178 -        "\u00A2\u0000\u0000\u00A6\u00B6\u0000\u0000\u0000" +
 254.179 -        "\u0000\u0000\u0000\u0000\u0000\u00D1\u00F1\u0000" +
 254.180 -        "\u0000\u0000\u00BD\u00BF\u00D2\u00F2\u0000\u0000" +
 254.181 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u00A3\u00B3" +
 254.182 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.183 -        "\u00A9\u00B9\u0000\u0000\u0000\u0000\u00AC\u00BC" +
 254.184 -        "\u00DD\u00FD\u00DE\u00FE\u0000\u0000\u0000\u0000" +
 254.185 -        "\u0000\u0000\u00D9\u00F9\u0000\u0000\u0000\u0000" +
 254.186 -        "\u0000\u0000\u0000\u0000\u0000\u00AE\u00BE\u0000" +
 254.187 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.188 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.189 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.190 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.191 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.192 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.193 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.194 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.195 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.196 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.197 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.198 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.199 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.200 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.201 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.202 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.203 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.204 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.205 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.206 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.207 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.208 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.209 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.210 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.211 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.212 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.213 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.214 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.215 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.216 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.217 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.218 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B7" +
 254.219 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.220 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.221 -        "\u0000\u00FF\u0000\u00B2\u0000\u0000\u0000\u0000" +
 254.222 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.223 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.224 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 254.225 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 254.226 -
 254.227 -    private final static short index1[] = {
 254.228 -        0, 256, 440, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 254.229 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 254.230 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 254.231 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 254.232 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 254.233 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 254.234 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 254.235 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 254.236 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 254.237 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 254.238 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 254.239 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 254.240 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 254.241 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 254.242 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 254.243 -        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 254.244 -
 254.245 -      };
 254.246 -   }
 254.247 -}
   255.1 --- a/src/share/classes/sun/nio/cs/ISO_8859_5.java	Wed Jan 14 21:35:03 2009 -0800
   255.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   255.3 @@ -1,271 +0,0 @@
   255.4 -/*
   255.5 - * Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
   255.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   255.7 - *
   255.8 - * This code is free software; you can redistribute it and/or modify it
   255.9 - * under the terms of the GNU General Public License version 2 only, as
  255.10 - * published by the Free Software Foundation.  Sun designates this
  255.11 - * particular file as subject to the "Classpath" exception as provided
  255.12 - * by Sun in the LICENSE file that accompanied this code.
  255.13 - *
  255.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  255.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  255.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  255.17 - * version 2 for more details (a copy is included in the LICENSE file that
  255.18 - * accompanied this code).
  255.19 - *
  255.20 - * You should have received a copy of the GNU General Public License version
  255.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  255.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  255.23 - *
  255.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  255.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  255.26 - * have any questions.
  255.27 - */
  255.28 -
  255.29 -package sun.nio.cs;
  255.30 -
  255.31 -import java.nio.charset.Charset;
  255.32 -import java.nio.charset.CharsetDecoder;
  255.33 -import java.nio.charset.CharsetEncoder;
  255.34 -import sun.nio.cs.StandardCharsets;
  255.35 -import sun.nio.cs.SingleByteDecoder;
  255.36 -import sun.nio.cs.SingleByteEncoder;
  255.37 -import sun.nio.cs.HistoricallyNamedCharset;
  255.38 -
  255.39 -public class ISO_8859_5
  255.40 -    extends Charset
  255.41 -    implements HistoricallyNamedCharset
  255.42 -{
  255.43 -
  255.44 -    public ISO_8859_5() {
  255.45 -        super("ISO-8859-5", StandardCharsets.aliases_ISO_8859_5);
  255.46 -    }
  255.47 -
  255.48 -    public String historicalName() {
  255.49 -        return "ISO8859_5";
  255.50 -    }
  255.51 -
  255.52 -    public boolean contains(Charset cs) {
  255.53 -        return ((cs.name().equals("US-ASCII"))
  255.54 -                || (cs instanceof ISO_8859_5));
  255.55 -    }
  255.56 -
  255.57 -    public CharsetDecoder newDecoder() {
  255.58 -        return new Decoder(this);
  255.59 -    }
  255.60 -
  255.61 -    public CharsetEncoder newEncoder() {
  255.62 -        return new Encoder(this);
  255.63 -    }
  255.64 -
  255.65 -
  255.66 -    /**
  255.67 -     * These accessors are temporarily supplied while sun.io
  255.68 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  255.69 -     * These facilitate sharing of conversion tables between the
  255.70 -     * two co-existing implementations. When sun.io converters
  255.71 -     * are made extinct these will be unncessary and should be removed
  255.72 -     */
  255.73 -
  255.74 -    public String getDecoderSingleByteMappings() {
  255.75 -        return Decoder.byteToCharTable;
  255.76 -
  255.77 -    }
  255.78 -
  255.79 -    public short[] getEncoderIndex1() {
  255.80 -        return Encoder.index1;
  255.81 -
  255.82 -    }
  255.83 -    public String getEncoderIndex2() {
  255.84 -        return Encoder.index2;
  255.85 -
  255.86 -    }
  255.87 -
  255.88 -    private static class Decoder extends SingleByteDecoder {
  255.89 -        public Decoder(Charset cs) {
  255.90 -            super(cs, byteToCharTable);
  255.91 -        }
  255.92 -
  255.93 -        private final static  String byteToCharTable =
  255.94 -
  255.95 -        "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +     // 0x80 - 0x87
  255.96 -        "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +     // 0x88 - 0x8F
  255.97 -        "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +     // 0x90 - 0x97
  255.98 -        "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +     // 0x98 - 0x9F
  255.99 -        "\u00A0\u0401\u0402\u0403\u0404\u0405\u0406\u0407" +     // 0xA0 - 0xA7
 255.100 -        "\u0408\u0409\u040A\u040B\u040C\u00AD\u040E\u040F" +     // 0xA8 - 0xAF
 255.101 -        "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417" +     // 0xB0 - 0xB7
 255.102 -        "\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F" +     // 0xB8 - 0xBF
 255.103 -        "\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427" +     // 0xC0 - 0xC7
 255.104 -        "\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F" +     // 0xC8 - 0xCF
 255.105 -        "\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437" +     // 0xD0 - 0xD7
 255.106 -        "\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F" +     // 0xD8 - 0xDF
 255.107 -        "\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447" +     // 0xE0 - 0xE7
 255.108 -        "\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" +     // 0xE8 - 0xEF
 255.109 -        "\u2116\u0451\u0452\u0453\u0454\u0455\u0456\u0457" +     // 0xF0 - 0xF7
 255.110 -        "\u0458\u0459\u045A\u045B\u045C\u00A7\u045E\u045F" +     // 0xF8 - 0xFF
 255.111 -        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 255.112 -        "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 255.113 -        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 255.114 -        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 255.115 -        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 255.116 -        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 255.117 -        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 255.118 -        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 255.119 -        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 255.120 -        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 255.121 -        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 255.122 -        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 255.123 -        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 255.124 -        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 255.125 -        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 255.126 -        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 255.127 -
 255.128 -
 255.129 -    }
 255.130 -
 255.131 -    private static class Encoder extends SingleByteEncoder {
 255.132 -        public Encoder(Charset cs) {
 255.133 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 255.134 -        }
 255.135 -
 255.136 -    private final static String index2 =
 255.137 -
 255.138 -        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 255.139 -        "\b\t\n\u000B\f\r\u000E\u000F" +
 255.140 -        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 255.141 -        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 255.142 -        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 255.143 -        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 255.144 -        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 255.145 -        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 255.146 -        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 255.147 -        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 255.148 -        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 255.149 -        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 255.150 -        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 255.151 -        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 255.152 -        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 255.153 -        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 255.154 -        "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 255.155 -        "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
 255.156 -        "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
 255.157 -        "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
 255.158 -        "\u00A0\u0000\u0000\u0000\u0000\u0000\u0000\u00FD" +
 255.159 -        "\u0000\u0000\u0000\u0000\u0000\u00AD\u0000\u0000" +
 255.160 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.161 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.162 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.163 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.164 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.165 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.166 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.167 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.168 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.169 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.170 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.171 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.172 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.173 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.174 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.175 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.176 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.177 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.178 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.179 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.180 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.181 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.182 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.183 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.184 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.185 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.186 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.187 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.188 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.189 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.190 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.191 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u00A1\u00A2" +
 255.192 -        "\u00A3\u00A4\u00A5\u00A6\u00A7\u00A8\u00A9\u00AA" +
 255.193 -        "\u00AB\u00AC\u0000\u00AE\u00AF\u00B0\u00B1\u00B2" +
 255.194 -        "\u00B3\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u00BA" +
 255.195 -        "\u00BB\u00BC\u00BD\u00BE\u00BF\u00C0\u00C1\u00C2" +
 255.196 -        "\u00C3\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA" +
 255.197 -        "\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1\u00D2" +
 255.198 -        "\u00D3\u00D4\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA" +
 255.199 -        "\u00DB\u00DC\u00DD\u00DE\u00DF\u00E0\u00E1\u00E2" +
 255.200 -        "\u00E3\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA" +
 255.201 -        "\u00EB\u00EC\u00ED\u00EE\u00EF\u0000\u00F1\u00F2" +
 255.202 -        "\u00F3\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA" +
 255.203 -        "\u00FB\u00FC\u0000\u00FE\u00FF\u0000\u0000\u0000" +
 255.204 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.205 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.206 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.207 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.208 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.209 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.210 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.211 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.212 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.213 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.214 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.215 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.216 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.217 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.218 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.219 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.220 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.221 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.222 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.223 -        "\u0000\u0000\u0000\u0000\u0000\u00F0\u0000\u0000" +
 255.224 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.225 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.226 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.227 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.228 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.229 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.230 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.231 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.232 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.233 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.234 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.235 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.236 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.237 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.238 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.239 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.240 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.241 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.242 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.243 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.244 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.245 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.246 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.247 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.248 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.249 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.250 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.251 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 255.252 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 255.253 -
 255.254 -    private final static short index1[] = {
 255.255 -        0, 174, 174, 174, 429, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 255.256 -        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 255.257 -        174, 663, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 255.258 -        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 255.259 -        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 255.260 -        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 255.261 -        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 255.262 -        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 255.263 -        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 255.264 -        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 255.265 -        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 255.266 -        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 255.267 -        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 255.268 -        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 255.269 -        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 255.270 -        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 255.271 -
 255.272 -      };
 255.273 -   }
 255.274 -}
   256.1 --- a/src/share/classes/sun/nio/cs/ISO_8859_7.java	Wed Jan 14 21:35:03 2009 -0800
   256.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   256.3 @@ -1,255 +0,0 @@
   256.4 -/*
   256.5 - * Copyright 2002-2006 Sun Microsystems, Inc.  All Rights Reserved.
   256.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   256.7 - *
   256.8 - * This code is free software; you can redistribute it and/or modify it
   256.9 - * under the terms of the GNU General Public License version 2 only, as
  256.10 - * published by the Free Software Foundation.  Sun designates this
  256.11 - * particular file as subject to the "Classpath" exception as provided
  256.12 - * by Sun in the LICENSE file that accompanied this code.
  256.13 - *
  256.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  256.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  256.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  256.17 - * version 2 for more details (a copy is included in the LICENSE file that
  256.18 - * accompanied this code).
  256.19 - *
  256.20 - * You should have received a copy of the GNU General Public License version
  256.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  256.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  256.23 - *
  256.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  256.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  256.26 - * have any questions.
  256.27 - */
  256.28 -
  256.29 -package sun.nio.cs;
  256.30 -
  256.31 -import java.nio.charset.Charset;
  256.32 -import java.nio.charset.CharsetDecoder;
  256.33 -import java.nio.charset.CharsetEncoder;
  256.34 -import sun.nio.cs.StandardCharsets;
  256.35 -import sun.nio.cs.SingleByteDecoder;
  256.36 -import sun.nio.cs.SingleByteEncoder;
  256.37 -import sun.nio.cs.HistoricallyNamedCharset;
  256.38 -
  256.39 -public class ISO_8859_7
  256.40 -    extends Charset
  256.41 -    implements HistoricallyNamedCharset
  256.42 -{
  256.43 -
  256.44 -    public ISO_8859_7() {
  256.45 -        super("ISO-8859-7", StandardCharsets.aliases_ISO_8859_7);
  256.46 -    }
  256.47 -
  256.48 -    public String historicalName() {
  256.49 -        return "ISO8859_7";
  256.50 -    }
  256.51 -
  256.52 -    public boolean contains(Charset cs) {
  256.53 -        return ((cs.name().equals("US-ASCII"))
  256.54 -                || (cs instanceof ISO_8859_7));
  256.55 -    }
  256.56 -
  256.57 -    public CharsetDecoder newDecoder() {
  256.58 -        return new Decoder(this);
  256.59 -    }
  256.60 -
  256.61 -    public CharsetEncoder newEncoder() {
  256.62 -        return new Encoder(this);
  256.63 -    }
  256.64 -
  256.65 -
  256.66 -    /**
  256.67 -     * These accessors are temporarily supplied while sun.io
  256.68 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  256.69 -     * These facilitate sharing of conversion tables between the
  256.70 -     * two co-existing implementations. When sun.io converters
  256.71 -     * are made extinct these will be unncessary and should be removed
  256.72 -     */
  256.73 -
  256.74 -    public String getDecoderSingleByteMappings() {
  256.75 -        return Decoder.byteToCharTable;
  256.76 -
  256.77 -    }
  256.78 -
  256.79 -    public short[] getEncoderIndex1() {
  256.80 -        return Encoder.index1;
  256.81 -
  256.82 -    }
  256.83 -    public String getEncoderIndex2() {
  256.84 -        return Encoder.index2;
  256.85 -
  256.86 -    }
  256.87 -
  256.88 -    private static class Decoder extends SingleByteDecoder {
  256.89 -        public Decoder(Charset cs) {
  256.90 -            super(cs, byteToCharTable);
  256.91 -        }
  256.92 -
  256.93 -        private final static  String byteToCharTable =
  256.94 -
  256.95 -        "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +     // 0x80 - 0x87
  256.96 -        "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +     // 0x88 - 0x8F
  256.97 -        "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +     // 0x90 - 0x97
  256.98 -        "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +     // 0x98 - 0x9F
  256.99 -        "\u00A0\u2018\u2019\u00A3\u20AC\u20AF\u00A6\u00A7" +     // 0xA0 - 0xA7
 256.100 -        "\u00A8\u00A9\u037A\u00AB\u00AC\u00AD\uFFFD\u2015" +     // 0xA8 - 0xAF
 256.101 -        "\u00B0\u00B1\u00B2\u00B3\u0384\u0385\u0386\u00B7" +     // 0xB0 - 0xB7
 256.102 -        "\u0388\u0389\u038A\u00BB\u038C\u00BD\u038E\u038F" +     // 0xB8 - 0xBF
 256.103 -        "\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397" +     // 0xC0 - 0xC7
 256.104 -        "\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F" +     // 0xC8 - 0xCF
 256.105 -        "\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7" +     // 0xD0 - 0xD7
 256.106 -        "\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF" +     // 0xD8 - 0xDF
 256.107 -        "\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7" +     // 0xE0 - 0xE7
 256.108 -        "\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF" +     // 0xE8 - 0xEF
 256.109 -        "\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7" +     // 0xF0 - 0xF7
 256.110 -        "\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD" +     // 0xF8 - 0xFF
 256.111 -        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 256.112 -        "\b\t\n\u000B\f\r\u000E\u000F"                     +     // 0x08 - 0x0F
 256.113 -        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 256.114 -        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 256.115 -        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'"         +     // 0x20 - 0x27
 256.116 -        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 256.117 -        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 256.118 -        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 256.119 -        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 256.120 -        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 256.121 -        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 256.122 -        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F"     +     // 0x58 - 0x5F
 256.123 -        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 256.124 -        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 256.125 -        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 256.126 -        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";      // 0x78 - 0x7F
 256.127 -    }
 256.128 -
 256.129 -    private static class Encoder extends SingleByteEncoder {
 256.130 -        public Encoder(Charset cs) {
 256.131 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 256.132 -        }
 256.133 -
 256.134 -    private final static String index2 =
 256.135 -
 256.136 -        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 256.137 -        "\b\t\n\u000B\f\r\u000E\u000F" +
 256.138 -        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 256.139 -        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 256.140 -        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 256.141 -        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 256.142 -        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 256.143 -        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 256.144 -        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 256.145 -        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 256.146 -        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 256.147 -        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 256.148 -        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 256.149 -        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 256.150 -        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 256.151 -        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 256.152 -        "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 256.153 -        "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
 256.154 -        "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
 256.155 -        "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
 256.156 -        "\u00A0\u0000\u0000\u00A3\u0000\u0000\u00A6\u00A7" +
 256.157 -        "\u00A8\u00A9\u0000\u00AB\u00AC\u00AD\u0000\u0000" +
 256.158 -        "\u00B0\u00B1\u00B2\u00B3\u0000\u0000\u0000\u00B7" +
 256.159 -        "\u0000\u0000\u0000\u00BB\u0000\u00BD\u0000\u0000" +
 256.160 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.161 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.162 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.163 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.164 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.165 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.166 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.167 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.168 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.169 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.170 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.171 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.172 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.173 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.174 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.175 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.176 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.177 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.178 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.179 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.180 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.181 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.182 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.183 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.184 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.185 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.186 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.187 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.188 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.189 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.190 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.191 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u00AA\u0000" +
 256.192 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.193 -        "\u00B4\u00B5\u00B6\u0000\u00B8\u00B9\u00BA\u0000" +
 256.194 -        "\u00BC\u0000\u00BE\u00BF\u00C0\u00C1\u00C2\u00C3" +
 256.195 -        "\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB" +
 256.196 -        "\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1\u0000\u00D3" +
 256.197 -        "\u00D4\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA\u00DB" +
 256.198 -        "\u00DC\u00DD\u00DE\u00DF\u00E0\u00E1\u00E2\u00E3" +
 256.199 -        "\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB" +
 256.200 -        "\u00EC\u00ED\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3" +
 256.201 -        "\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA\u00FB" +
 256.202 -        "\u00FC\u00FD\u00FE\u0000\u0000\u0000\u0000\u0000" +
 256.203 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.204 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.205 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.206 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.207 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.208 -        "\u0000\u0000\u0000\u0000\u00AF\u0000\u0000\u00A1" +
 256.209 -        "\u00A2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.210 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.211 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.212 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.213 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.214 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.215 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.216 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.217 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.218 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.219 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.220 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.221 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.222 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.223 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.224 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.225 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.226 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.227 -        "\u0000\u0000\u0000\u00A4\u0000\u0000\u00A5\u0000" +
 256.228 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.229 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.230 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.231 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.232 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.233 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.234 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.235 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.236 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 256.237 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 256.238 -
 256.239 -    private final static short index1[] = {
 256.240 -        0, 190, 190, 324, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 256.241 -        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 256.242 -        559, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 256.243 -        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 256.244 -        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 256.245 -        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 256.246 -        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 256.247 -        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 256.248 -        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 256.249 -        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 256.250 -        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 256.251 -        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 256.252 -        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 256.253 -        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 256.254 -        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 256.255 -        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 256.256 -      };
 256.257 -   }
 256.258 -}
   257.1 --- a/src/share/classes/sun/nio/cs/ISO_8859_9.java	Wed Jan 14 21:35:03 2009 -0800
   257.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   257.3 @@ -1,233 +0,0 @@
   257.4 -/*
   257.5 - * Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
   257.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   257.7 - *
   257.8 - * This code is free software; you can redistribute it and/or modify it
   257.9 - * under the terms of the GNU General Public License version 2 only, as
  257.10 - * published by the Free Software Foundation.  Sun designates this
  257.11 - * particular file as subject to the "Classpath" exception as provided
  257.12 - * by Sun in the LICENSE file that accompanied this code.
  257.13 - *
  257.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  257.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  257.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  257.17 - * version 2 for more details (a copy is included in the LICENSE file that
  257.18 - * accompanied this code).
  257.19 - *
  257.20 - * You should have received a copy of the GNU General Public License version
  257.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  257.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  257.23 - *
  257.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  257.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  257.26 - * have any questions.
  257.27 - */
  257.28 -
  257.29 -package sun.nio.cs;
  257.30 -
  257.31 -import java.nio.charset.Charset;
  257.32 -import java.nio.charset.CharsetDecoder;
  257.33 -import java.nio.charset.CharsetEncoder;
  257.34 -import sun.nio.cs.StandardCharsets;
  257.35 -import sun.nio.cs.SingleByteDecoder;
  257.36 -import sun.nio.cs.SingleByteEncoder;
  257.37 -import sun.nio.cs.HistoricallyNamedCharset;
  257.38 -
  257.39 -public class ISO_8859_9
  257.40 -    extends Charset
  257.41 -    implements HistoricallyNamedCharset
  257.42 -{
  257.43 -
  257.44 -    public ISO_8859_9() {
  257.45 -        super("ISO-8859-9", StandardCharsets.aliases_ISO_8859_9);
  257.46 -    }
  257.47 -
  257.48 -    public String historicalName() {
  257.49 -        return "ISO8859_9";
  257.50 -    }
  257.51 -
  257.52 -    public boolean contains(Charset cs) {
  257.53 -        return ((cs.name().equals("US-ASCII"))
  257.54 -                || (cs instanceof ISO_8859_9));
  257.55 -    }
  257.56 -
  257.57 -    public CharsetDecoder newDecoder() {
  257.58 -        return new Decoder(this);
  257.59 -    }
  257.60 -
  257.61 -    public CharsetEncoder newEncoder() {
  257.62 -        return new Encoder(this);
  257.63 -    }
  257.64 -
  257.65 -
  257.66 -    /**
  257.67 -     * These accessors are temporarily supplied while sun.io
  257.68 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  257.69 -     * These facilitate sharing of conversion tables between the
  257.70 -     * two co-existing implementations. When sun.io converters
  257.71 -     * are made extinct these will be unncessary and should be removed
  257.72 -     */
  257.73 -
  257.74 -    public String getDecoderSingleByteMappings() {
  257.75 -        return Decoder.byteToCharTable;
  257.76 -
  257.77 -    }
  257.78 -
  257.79 -    public short[] getEncoderIndex1() {
  257.80 -        return Encoder.index1;
  257.81 -
  257.82 -    }
  257.83 -    public String getEncoderIndex2() {
  257.84 -        return Encoder.index2;
  257.85 -
  257.86 -    }
  257.87 -
  257.88 -
  257.89 -    private static class Decoder extends SingleByteDecoder {
  257.90 -        public Decoder(Charset cs) {
  257.91 -            super(cs, byteToCharTable);
  257.92 -        }
  257.93 -
  257.94 -        private final static  String byteToCharTable =
  257.95 -
  257.96 -        "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +     // 0x80 - 0x87
  257.97 -        "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +     // 0x88 - 0x8F
  257.98 -        "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +     // 0x90 - 0x97
  257.99 -        "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +     // 0x98 - 0x9F
 257.100 -        "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +     // 0xA0 - 0xA7
 257.101 -        "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +     // 0xA8 - 0xAF
 257.102 -        "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +     // 0xB0 - 0xB7
 257.103 -        "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +     // 0xB8 - 0xBF
 257.104 -        "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +     // 0xC0 - 0xC7
 257.105 -        "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +     // 0xC8 - 0xCF
 257.106 -        "\u011E\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +     // 0xD0 - 0xD7
 257.107 -        "\u00D8\u00D9\u00DA\u00DB\u00DC\u0130\u015E\u00DF" +     // 0xD8 - 0xDF
 257.108 -        "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +     // 0xE0 - 0xE7
 257.109 -        "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +     // 0xE8 - 0xEF
 257.110 -        "\u011F\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +     // 0xF0 - 0xF7
 257.111 -        "\u00F8\u00F9\u00FA\u00FB\u00FC\u0131\u015F\u00FF" +     // 0xF8 - 0xFF
 257.112 -        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 257.113 -        "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 257.114 -        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 257.115 -        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 257.116 -        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 257.117 -        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 257.118 -        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 257.119 -        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 257.120 -        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 257.121 -        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 257.122 -        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 257.123 -        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 257.124 -        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 257.125 -        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 257.126 -        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 257.127 -        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 257.128 -
 257.129 -
 257.130 -    }
 257.131 -
 257.132 -    private static class Encoder extends SingleByteEncoder {
 257.133 -        public Encoder(Charset cs) {
 257.134 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 257.135 -        }
 257.136 -
 257.137 -    private final static String index2 =
 257.138 -
 257.139 -        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 257.140 -        "\b\t\n\u000B\f\r\u000E\u000F" +
 257.141 -        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 257.142 -        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 257.143 -        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 257.144 -        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 257.145 -        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 257.146 -        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 257.147 -        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 257.148 -        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 257.149 -        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 257.150 -        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 257.151 -        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 257.152 -        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 257.153 -        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 257.154 -        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 257.155 -        "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 257.156 -        "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
 257.157 -        "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
 257.158 -        "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
 257.159 -        "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +
 257.160 -        "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +
 257.161 -        "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
 257.162 -        "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +
 257.163 -        "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 257.164 -        "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +
 257.165 -        "\u0000\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +
 257.166 -        "\u00D8\u00D9\u00DA\u00DB\u00DC\u0000\u0000\u00DF" +
 257.167 -        "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +
 257.168 -        "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +
 257.169 -        "\u0000\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 257.170 -        "\u00F8\u00F9\u00FA\u00FB\u00FC\u0000\u0000\u00FF" +
 257.171 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.172 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.173 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.174 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u00D0\u00F0" +
 257.175 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.176 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.177 -        "\u00DD\u00FD\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.178 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.179 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.180 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.181 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.182 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u00DE\u00FE" +
 257.183 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.184 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.185 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.186 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.187 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.188 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.189 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.190 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.191 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.192 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.193 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.194 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.195 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.196 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.197 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.198 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.199 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.200 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.201 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.202 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.203 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.204 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.205 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.206 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.207 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.208 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.209 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.210 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.211 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.212 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.213 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 257.214 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 257.215 -
 257.216 -    private final static short index1[] = {
 257.217 -        0, 256, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 257.218 -        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 257.219 -        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 257.220 -        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 257.221 -        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 257.222 -        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 257.223 -        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 257.224 -        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 257.225 -        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 257.226 -        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 257.227 -        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 257.228 -        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 257.229 -        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 257.230 -        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 257.231 -        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 257.232 -        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 257.233 -
 257.234 -      };
 257.235 -   }
 257.236 -}
   258.1 --- a/src/share/classes/sun/nio/cs/KOI8_R.java	Wed Jan 14 21:35:03 2009 -0800
   258.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   258.3 @@ -1,344 +0,0 @@
   258.4 -/*
   258.5 - * Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
   258.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   258.7 - *
   258.8 - * This code is free software; you can redistribute it and/or modify it
   258.9 - * under the terms of the GNU General Public License version 2 only, as
  258.10 - * published by the Free Software Foundation.  Sun designates this
  258.11 - * particular file as subject to the "Classpath" exception as provided
  258.12 - * by Sun in the LICENSE file that accompanied this code.
  258.13 - *
  258.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  258.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  258.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  258.17 - * version 2 for more details (a copy is included in the LICENSE file that
  258.18 - * accompanied this code).
  258.19 - *
  258.20 - * You should have received a copy of the GNU General Public License version
  258.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  258.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  258.23 - *
  258.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  258.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  258.26 - * have any questions.
  258.27 - */
  258.28 -
  258.29 -package sun.nio.cs;
  258.30 -
  258.31 -import java.nio.ByteBuffer;
  258.32 -import java.nio.CharBuffer;
  258.33 -import java.nio.charset.Charset;
  258.34 -import java.nio.charset.CharsetDecoder;
  258.35 -import java.nio.charset.CharsetEncoder;
  258.36 -import java.nio.charset.CharacterCodingException;
  258.37 -import java.nio.charset.MalformedInputException;
  258.38 -import java.nio.charset.UnmappableCharacterException;
  258.39 -import sun.nio.cs.StandardCharsets;
  258.40 -import sun.nio.cs.SingleByteDecoder;
  258.41 -import sun.nio.cs.SingleByteEncoder;
  258.42 -
  258.43 -
  258.44 -public class KOI8_R
  258.45 -    extends Charset
  258.46 -    implements HistoricallyNamedCharset
  258.47 -{
  258.48 -
  258.49 -    public KOI8_R() {
  258.50 -        super("KOI8-R", StandardCharsets.aliases_KOI8_R);
  258.51 -    }
  258.52 -
  258.53 -    public String historicalName() {
  258.54 -        return "KOI8_R";
  258.55 -    }
  258.56 -
  258.57 -    public boolean contains(Charset cs) {
  258.58 -        return ((cs.name().equals("US-ASCII"))
  258.59 -                || (cs instanceof KOI8_R));
  258.60 -    }
  258.61 -
  258.62 -    public CharsetDecoder newDecoder() {
  258.63 -        return new Decoder(this);
  258.64 -    }
  258.65 -
  258.66 -    public CharsetEncoder newEncoder() {
  258.67 -        return new Encoder(this);
  258.68 -    }
  258.69 -
  258.70 -
  258.71 -    /**
  258.72 -     * These accessors are temporarily supplied while sun.io
  258.73 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  258.74 -     * These facilitate sharing of conversion tables between the
  258.75 -     * two co-existing implementations. When sun.io converters
  258.76 -     * are made extinct these will be unncessary and should be removed
  258.77 -     */
  258.78 -
  258.79 -    public String getDecoderSingleByteMappings() {
  258.80 -        return Decoder.byteToCharTable;
  258.81 -
  258.82 -    }
  258.83 -
  258.84 -    public short[] getEncoderIndex1() {
  258.85 -        return Encoder.index1;
  258.86 -
  258.87 -    }
  258.88 -    public String getEncoderIndex2() {
  258.89 -        return Encoder.index2;
  258.90 -
  258.91 -    }
  258.92 -
  258.93 -    private static class Decoder extends SingleByteDecoder {
  258.94 -
  258.95 -        public Decoder(Charset cs) {
  258.96 -            super(cs, byteToCharTable);
  258.97 -        }
  258.98 -
  258.99 -        private final static String byteToCharTable =
 258.100 -
 258.101 -            "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524" +     // 0x80 - 0x87
 258.102 -            "\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590" +     // 0x88 - 0x8F
 258.103 -            "\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248" +     // 0x90 - 0x97
 258.104 -            "\u2264\u2265\u00A0\u2321\u00B0\u00B2\u00B7\u00F7" +     // 0x98 - 0x9F
 258.105 -            "\u2550\u2551\u2552\u0451\u2553\u2554\u2555\u2556" +     // 0xA0 - 0xA7
 258.106 -            "\u2557\u2558\u2559\u255A\u255B\u255C\u255D\u255E" +     // 0xA8 - 0xAF
 258.107 -            "\u255F\u2560\u2561\u0401\u2562\u2563\u2564\u2565" +     // 0xB0 - 0xB7
 258.108 -            "\u2566\u2567\u2568\u2569\u256A\u256B\u256C\u00A9" +     // 0xB8 - 0xBF
 258.109 -            "\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433" +     // 0xC0 - 0xC7
 258.110 -            "\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E" +     // 0xC8 - 0xCF
 258.111 -            "\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432" +     // 0xD0 - 0xD7
 258.112 -            "\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A" +     // 0xD8 - 0xDF
 258.113 -            "\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413" +     // 0xE0 - 0xE7
 258.114 -            "\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E" +     // 0xE8 - 0xEF
 258.115 -            "\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412" +     // 0xF0 - 0xF7
 258.116 -            "\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" +     // 0xF8 - 0xFF
 258.117 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 258.118 -            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 258.119 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 258.120 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 258.121 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 258.122 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 258.123 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 258.124 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 258.125 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 258.126 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 258.127 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 258.128 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 258.129 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 258.130 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 258.131 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 258.132 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 258.133 -    }
 258.134 -
 258.135 -    private static class Encoder extends SingleByteEncoder {
 258.136 -
 258.137 -        public Encoder(Charset cs) {
 258.138 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 258.139 -        }
 258.140 -
 258.141 -        private final static String index2 =
 258.142 -
 258.143 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 258.144 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 258.145 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 258.146 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 258.147 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 258.148 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 258.149 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 258.150 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 258.151 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 258.152 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 258.153 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 258.154 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 258.155 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 258.156 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 258.157 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 258.158 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 258.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.160 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.162 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.163 -            "\u009A\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.164 -            "\u0000\u00BF\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.165 -            "\u009C\u0000\u009D\u0000\u0000\u0000\u0000\u009E" +
 258.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u009F" +
 258.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.206 -            "\u00B3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E1" +
 258.208 -            "\u00E2\u00F7\u00E7\u00E4\u00E5\u00F6\u00FA\u00E9" +
 258.209 -            "\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF\u00F0\u00F2" +
 258.210 -            "\u00F3\u00F4\u00F5\u00E6\u00E8\u00E3\u00FE\u00FB" +
 258.211 -            "\u00FD\u00FF\u00F9\u00F8\u00FC\u00E0\u00F1\u00C1" +
 258.212 -            "\u00C2\u00D7\u00C7\u00C4\u00C5\u00D6\u00DA\u00C9" +
 258.213 -            "\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D2" +
 258.214 -            "\u00D3\u00D4\u00D5\u00C6\u00C8\u00C3\u00DE\u00DB" +
 258.215 -            "\u00DD\u00DF\u00D9\u00D8\u00DC\u00C0\u00D1\u0000" +
 258.216 -            "\u00A3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0095" +
 258.238 -            "\u0096\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0097\u0000" +
 258.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.247 -            "\u0000\u0000\u0098\u0099\u0000\u0000\u0000\u0000" +
 258.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0093\u009B" +
 258.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.286 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0000" +
 258.295 -            "\u0081\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.296 -            "\u0000\u0000\u0082\u0000\u0000\u0000\u0083\u0000" +
 258.297 -            "\u0000\u0000\u0084\u0000\u0000\u0000\u0085\u0000" +
 258.298 -            "\u0000\u0000\u0086\u0000\u0000\u0000\u0000\u0000" +
 258.299 -            "\u0000\u0000\u0087\u0000\u0000\u0000\u0000\u0000" +
 258.300 -            "\u0000\u0000\u0088\u0000\u0000\u0000\u0000\u0000" +
 258.301 -            "\u0000\u0000\u0089\u0000\u0000\u0000\u0000\u0000" +
 258.302 -            "\u0000\u0000\u008A\u0000\u0000\u0000\u0000\u0000" +
 258.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00A0\u00A1" +
 258.305 -            "\u00A2\u00A4\u00A5\u00A6\u00A7\u00A8\u00A9\u00AA" +
 258.306 -            "\u00AB\u00AC\u00AD\u00AE\u00AF\u00B0\u00B1\u00B2" +
 258.307 -            "\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u00BA\u00BB" +
 258.308 -            "\u00BC\u00BD\u00BE\u0000\u0000\u0000\u0000\u0000" +
 258.309 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.310 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u008B\u0000" +
 258.311 -            "\u0000\u0000\u008C\u0000\u0000\u0000\u008D\u0000" +
 258.312 -            "\u0000\u0000\u008E\u0000\u0000\u0000\u008F\u0090" +
 258.313 -            "\u0091\u0092\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.314 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0094\u0000" +
 258.315 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.316 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.317 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.318 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.319 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.320 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.321 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.322 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.323 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.324 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.325 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 258.326 -            "\u0000\u0000\u0000\u0000\u0000\u0000";
 258.327 -
 258.328 -        private final static short index1[] = {
 258.329 -            0, 248, 248, 248, 503, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 258.330 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 258.331 -            248, 248, 734, 958, 248, 1214, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 258.332 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 258.333 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 258.334 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 258.335 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 258.336 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 258.337 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 258.338 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 258.339 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 258.340 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 258.341 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 258.342 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 258.343 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 258.344 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 258.345 -        };
 258.346 -    }
 258.347 -}
   259.1 --- a/src/share/classes/sun/nio/cs/KOI8_U.java	Wed Jan 14 21:35:03 2009 -0800
   259.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   259.3 @@ -1,323 +0,0 @@
   259.4 -/*
   259.5 - * Copyright 2006 Sun Microsystems, Inc.  All Rights Reserved.
   259.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   259.7 - *
   259.8 - * This code is free software; you can redistribute it and/or modify it
   259.9 - * under the terms of the GNU General Public License version 2 only, as
  259.10 - * published by the Free Software Foundation.  Sun designates this
  259.11 - * particular file as subject to the "Classpath" exception as provided
  259.12 - * by Sun in the LICENSE file that accompanied this code.
  259.13 - *
  259.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  259.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  259.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  259.17 - * version 2 for more details (a copy is included in the LICENSE file that
  259.18 - * accompanied this code).
  259.19 - *
  259.20 - * You should have received a copy of the GNU General Public License version
  259.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  259.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  259.23 - *
  259.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  259.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  259.26 - * have any questions.
  259.27 - */
  259.28 -
  259.29 -package sun.nio.cs;
  259.30 -
  259.31 -import java.nio.ByteBuffer;
  259.32 -import java.nio.CharBuffer;
  259.33 -import java.nio.charset.Charset;
  259.34 -import java.nio.charset.CharsetDecoder;
  259.35 -import java.nio.charset.CharsetEncoder;
  259.36 -import java.nio.charset.CharacterCodingException;
  259.37 -import java.nio.charset.MalformedInputException;
  259.38 -import java.nio.charset.UnmappableCharacterException;
  259.39 -import sun.nio.cs.StandardCharsets;
  259.40 -import sun.nio.cs.SingleByteDecoder;
  259.41 -import sun.nio.cs.SingleByteEncoder;
  259.42 -
  259.43 -/*
  259.44 - * An implementation of charset KOI8_U as specified by
  259.45 - * http://www.net.ua/KOI8-U
  259.46 - */
  259.47 -
  259.48 -public class KOI8_U
  259.49 -    extends Charset
  259.50 -    implements HistoricallyNamedCharset
  259.51 -{
  259.52 -
  259.53 -    public KOI8_U() {
  259.54 -        super("KOI8-U", StandardCharsets.aliases_KOI8_U);
  259.55 -    }
  259.56 -
  259.57 -    public String historicalName() {
  259.58 -        return "KOI8_U";
  259.59 -    }
  259.60 -
  259.61 -    public boolean contains(Charset cs) {
  259.62 -        return ((cs.name().equals("US-ASCII"))
  259.63 -                || (cs instanceof KOI8_U));
  259.64 -    }
  259.65 -
  259.66 -    public CharsetDecoder newDecoder() {
  259.67 -        return new Decoder(this);
  259.68 -    }
  259.69 -
  259.70 -    public CharsetEncoder newEncoder() {
  259.71 -        return new Encoder(this);
  259.72 -    }
  259.73 -
  259.74 -    private static class Decoder extends SingleByteDecoder {
  259.75 -
  259.76 -        public Decoder(Charset cs) {
  259.77 -            super(cs, byteToCharTable);
  259.78 -        }
  259.79 -
  259.80 -        private final static String byteToCharTable =
  259.81 -            "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524" +     // 0x80 - 0x87
  259.82 -            "\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590" +     // 0x88 - 0x8F
  259.83 -            "\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248" +     // 0x90 - 0x97
  259.84 -            "\u2264\u2265\u00A0\u2321\u00B0\u00B2\u00B7\u00F7" +     // 0x98 - 0x9F
  259.85 -            "\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457" +     // 0xA0 - 0xA7
  259.86 -            "\u2557\u2558\u2559\u255A\u255B\u0491\u255D\u255E" +     // 0xA8 - 0xAF
  259.87 -            "\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407" +     // 0xB0 - 0xB7
  259.88 -            "\u2566\u2567\u2568\u2569\u256A\u0490\u256C\u00A9" +     // 0xB8 - 0xBF
  259.89 -            "\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433" +     // 0xC0 - 0xC7
  259.90 -            "\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E" +     // 0xC8 - 0xCF
  259.91 -            "\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432" +     // 0xD0 - 0xD7
  259.92 -            "\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A" +     // 0xD8 - 0xDF
  259.93 -            "\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413" +     // 0xE0 - 0xE7
  259.94 -            "\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E" +     // 0xE8 - 0xEF
  259.95 -            "\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412" +     // 0xF0 - 0xF7
  259.96 -            "\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" +     // 0xF8 - 0xFF
  259.97 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
  259.98 -            "\b\t\n\u000B\f\r\u000E\u000F" +                         // 0x08 - 0x0F
  259.99 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 259.100 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 259.101 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +             // 0x20 - 0x27
 259.102 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 259.103 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 259.104 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 259.105 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 259.106 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 259.107 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 259.108 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +         // 0x58 - 0x5F
 259.109 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 259.110 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 259.111 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 259.112 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";      // 0x78 - 0x7F
 259.113 -    }
 259.114 -
 259.115 -    private static class Encoder extends SingleByteEncoder {
 259.116 -
 259.117 -        public Encoder(Charset cs) {
 259.118 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 259.119 -        }
 259.120 -
 259.121 -        private final static String index2 =
 259.122 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 259.123 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 259.124 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 259.125 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 259.126 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 259.127 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 259.128 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 259.129 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 259.130 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 259.131 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 259.132 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 259.133 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 259.134 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 259.135 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 259.136 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 259.137 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 259.138 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.139 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.140 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.141 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.142 -            "\u009A\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.143 -            "\u0000\u00BF\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.144 -            "\u009C\u0000\u009D\u0000\u0000\u0000\u0000\u009E" +
 259.145 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.146 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.147 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.148 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.149 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.150 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.151 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.152 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u009F" +
 259.153 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.160 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.162 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.185 -            "\u00B3\u0000\u0000\u00B4\u0000\u00B6\u00B7\u0000" +
 259.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E1" +
 259.187 -            "\u00E2\u00F7\u00E7\u00E4\u00E5\u00F6\u00FA\u00E9" +
 259.188 -            "\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF\u00F0\u00F2" +
 259.189 -            "\u00F3\u00F4\u00F5\u00E6\u00E8\u00E3\u00FE\u00FB" +
 259.190 -            "\u00FD\u00FF\u00F9\u00F8\u00FC\u00E0\u00F1\u00C1" +
 259.191 -            "\u00C2\u00D7\u00C7\u00C4\u00C5\u00D6\u00DA\u00C9" +
 259.192 -            "\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D2" +
 259.193 -            "\u00D3\u00D4\u00D5\u00C6\u00C8\u00C3\u00DE\u00DB" +
 259.194 -            "\u00DD\u00DF\u00D9\u00D8\u00DC\u00C0\u00D1\u0000" +
 259.195 -            "\u00A3\u0000\u0000\u00A4\u0000\u00A6\u00A7\u0000" +
 259.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BD" +
 259.203 -            "\u00AD\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0095" +
 259.217 -            "\u0096\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0097\u0000" +
 259.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.226 -            "\u0000\u0000\u0098\u0099\u0000\u0000\u0000\u0000" +
 259.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0093\u009B" +
 259.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0000" +
 259.274 -            "\u0081\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.275 -            "\u0000\u0000\u0082\u0000\u0000\u0000\u0083\u0000" +
 259.276 -            "\u0000\u0000\u0084\u0000\u0000\u0000\u0085\u0000" +
 259.277 -            "\u0000\u0000\u0086\u0000\u0000\u0000\u0000\u0000" +
 259.278 -            "\u0000\u0000\u0087\u0000\u0000\u0000\u0000\u0000" +
 259.279 -            "\u0000\u0000\u0088\u0000\u0000\u0000\u0000\u0000" +
 259.280 -            "\u0000\u0000\u0089\u0000\u0000\u0000\u0000\u0000" +
 259.281 -            "\u0000\u0000\u008A\u0000\u0000\u0000\u0000\u0000" +
 259.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00A0\u00A1" +
 259.284 -            "\u00A2\u0000\u00A5\u0000\u0000\u00A8\u00A9\u00AA" +
 259.285 -            "\u00AB\u00AC\u0000\u00AE\u00AF\u00B0\u00B1\u00B2" +
 259.286 -            "\u0000\u00B5\u0000\u0000\u00B8\u00B9\u00BA\u00BB" +
 259.287 -            "\u00BC\u0000\u00BE\u0000\u0000\u0000\u0000\u0000" +
 259.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u008B\u0000" +
 259.290 -            "\u0000\u0000\u008C\u0000\u0000\u0000\u008D\u0000" +
 259.291 -            "\u0000\u0000\u008E\u0000\u0000\u0000\u008F\u0090" +
 259.292 -            "\u0091\u0092\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0094\u0000" +
 259.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 259.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000";
 259.306 -
 259.307 -        private final static short index1[] = {
 259.308 -            0, 248, 248, 248, 503, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 259.309 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 259.310 -            248, 248, 734, 958, 248, 1214, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 259.311 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 259.312 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 259.313 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 259.314 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 259.315 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 259.316 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 259.317 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 259.318 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 259.319 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 259.320 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 259.321 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 259.322 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 259.323 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 259.324 -        };
 259.325 -    }
 259.326 -}
   260.1 --- a/src/share/classes/sun/nio/cs/MS1250.java	Wed Jan 14 21:35:03 2009 -0800
   260.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   260.3 @@ -1,304 +0,0 @@
   260.4 -/*
   260.5 - * Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
   260.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   260.7 - *
   260.8 - * This code is free software; you can redistribute it and/or modify it
   260.9 - * under the terms of the GNU General Public License version 2 only, as
  260.10 - * published by the Free Software Foundation.  Sun designates this
  260.11 - * particular file as subject to the "Classpath" exception as provided
  260.12 - * by Sun in the LICENSE file that accompanied this code.
  260.13 - *
  260.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  260.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  260.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  260.17 - * version 2 for more details (a copy is included in the LICENSE file that
  260.18 - * accompanied this code).
  260.19 - *
  260.20 - * You should have received a copy of the GNU General Public License version
  260.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  260.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  260.23 - *
  260.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  260.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  260.26 - * have any questions.
  260.27 - */
  260.28 -
  260.29 -package sun.nio.cs;
  260.30 -
  260.31 -import java.nio.ByteBuffer;
  260.32 -import java.nio.CharBuffer;
  260.33 -import java.nio.charset.Charset;
  260.34 -import java.nio.charset.CharsetDecoder;
  260.35 -import java.nio.charset.CharsetEncoder;
  260.36 -import java.nio.charset.CharacterCodingException;
  260.37 -import java.nio.charset.MalformedInputException;
  260.38 -import java.nio.charset.UnmappableCharacterException;
  260.39 -import sun.nio.cs.StandardCharsets;
  260.40 -import sun.nio.cs.SingleByteDecoder;
  260.41 -import sun.nio.cs.SingleByteEncoder;
  260.42 -import sun.nio.cs.HistoricallyNamedCharset;
  260.43 -
  260.44 -
  260.45 -public class MS1250
  260.46 -    extends Charset
  260.47 -    implements HistoricallyNamedCharset
  260.48 -{
  260.49 -
  260.50 -    public String historicalName() {
  260.51 -        return "Cp1250";
  260.52 -    }
  260.53 -
  260.54 -    public MS1250() {
  260.55 -        super("windows-1250", StandardCharsets.aliases_MS1250);
  260.56 -    }
  260.57 -
  260.58 -    public boolean contains(Charset cs) {
  260.59 -        return ((cs.name().equals("US-ASCII"))
  260.60 -                || (cs instanceof MS1250));
  260.61 -    }
  260.62 -
  260.63 -    public CharsetDecoder newDecoder() {
  260.64 -        return new Decoder(this);
  260.65 -    }
  260.66 -
  260.67 -    public CharsetEncoder newEncoder() {
  260.68 -        return new Encoder(this);
  260.69 -    }
  260.70 -
  260.71 -
  260.72 -    /**
  260.73 -     * These accessors are temporarily supplied while sun.io
  260.74 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  260.75 -     * These facilitate sharing of conversion tables between the
  260.76 -     * two co-existing implementations. When sun.io converters
  260.77 -     * are made extinct these will be unncessary and should be removed
  260.78 -     */
  260.79 -
  260.80 -    public String getDecoderSingleByteMappings() {
  260.81 -        return Decoder.byteToCharTable;
  260.82 -
  260.83 -    }
  260.84 -
  260.85 -    public short[] getEncoderIndex1() {
  260.86 -        return Encoder.index1;
  260.87 -
  260.88 -    }
  260.89 -    public String getEncoderIndex2() {
  260.90 -        return Encoder.index2;
  260.91 -
  260.92 -    }
  260.93 -
  260.94 -    private static class Decoder extends SingleByteDecoder {
  260.95 -            public Decoder(Charset cs) {
  260.96 -                super(cs, byteToCharTable);
  260.97 -        }
  260.98 -
  260.99 -        private final static String byteToCharTable =
 260.100 -
 260.101 -            "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021" +     // 0x80 - 0x87
 260.102 -            "\uFFFD\u2030\u0160\u2039\u015A\u0164\u017D\u0179" +     // 0x88 - 0x8F
 260.103 -            "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" +     // 0x90 - 0x97
 260.104 -            "\uFFFD\u2122\u0161\u203A\u015B\u0165\u017E\u017A" +     // 0x98 - 0x9F
 260.105 -            "\u00A0\u02C7\u02D8\u0141\u00A4\u0104\u00A6\u00A7" +     // 0xA0 - 0xA7
 260.106 -            "\u00A8\u00A9\u015E\u00AB\u00AC\u00AD\u00AE\u017B" +     // 0xA8 - 0xAF
 260.107 -            "\u00B0\u00B1\u02DB\u0142\u00B4\u00B5\u00B6\u00B7" +     // 0xB0 - 0xB7
 260.108 -            "\u00B8\u0105\u015F\u00BB\u013D\u02DD\u013E\u017C" +     // 0xB8 - 0xBF
 260.109 -            "\u0154\u00C1\u00C2\u0102\u00C4\u0139\u0106\u00C7" +     // 0xC0 - 0xC7
 260.110 -            "\u010C\u00C9\u0118\u00CB\u011A\u00CD\u00CE\u010E" +     // 0xC8 - 0xCF
 260.111 -            "\u0110\u0143\u0147\u00D3\u00D4\u0150\u00D6\u00D7" +     // 0xD0 - 0xD7
 260.112 -            "\u0158\u016E\u00DA\u0170\u00DC\u00DD\u0162\u00DF" +     // 0xD8 - 0xDF
 260.113 -            "\u0155\u00E1\u00E2\u0103\u00E4\u013A\u0107\u00E7" +     // 0xE0 - 0xE7
 260.114 -            "\u010D\u00E9\u0119\u00EB\u011B\u00ED\u00EE\u010F" +     // 0xE8 - 0xEF
 260.115 -            "\u0111\u0144\u0148\u00F3\u00F4\u0151\u00F6\u00F7" +     // 0xF0 - 0xF7
 260.116 -            "\u0159\u016F\u00FA\u0171\u00FC\u00FD\u0163\u02D9" +     // 0xF8 - 0xFF
 260.117 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 260.118 -            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 260.119 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 260.120 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 260.121 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 260.122 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 260.123 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 260.124 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 260.125 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 260.126 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 260.127 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 260.128 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 260.129 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 260.130 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 260.131 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 260.132 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 260.133 -    }
 260.134 -
 260.135 -    private static class Encoder extends SingleByteEncoder {
 260.136 -            public Encoder(Charset cs) {
 260.137 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 260.138 -        }
 260.139 -
 260.140 -        private final static String index2 =
 260.141 -
 260.142 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 260.143 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 260.144 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 260.145 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 260.146 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 260.147 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 260.148 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 260.149 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 260.150 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 260.151 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 260.152 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 260.153 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 260.154 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 260.155 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 260.156 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 260.157 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 260.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.160 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.162 -            "\u00A0\u0000\u0000\u0000\u00A4\u0000\u00A6\u00A7" +
 260.163 -            "\u00A8\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u0000" +
 260.164 -            "\u00B0\u00B1\u0000\u0000\u00B4\u00B5\u00B6\u00B7" +
 260.165 -            "\u00B8\u0000\u0000\u00BB\u0000\u0000\u0000\u0000" +
 260.166 -            "\u0000\u00C1\u00C2\u0000\u00C4\u0000\u0000\u00C7" +
 260.167 -            "\u0000\u00C9\u0000\u00CB\u0000\u00CD\u00CE\u0000" +
 260.168 -            "\u0000\u0000\u0000\u00D3\u00D4\u0000\u00D6\u00D7" +
 260.169 -            "\u0000\u0000\u00DA\u0000\u00DC\u00DD\u0000\u00DF" +
 260.170 -            "\u0000\u00E1\u00E2\u0000\u00E4\u0000\u0000\u00E7" +
 260.171 -            "\u0000\u00E9\u0000\u00EB\u0000\u00ED\u00EE\u0000" +
 260.172 -            "\u0000\u0000\u0000\u00F3\u00F4\u0000\u00F6\u00F7" +
 260.173 -            "\u0000\u0000\u00FA\u0000\u00FC\u00FD\u0000\u0000" +
 260.174 -            "\u00C3\u00E3\u00A5\u00B9\u00C6\u00E6\u0000\u0000" +
 260.175 -            "\u0000\u0000\u00C8\u00E8\u00CF\u00EF\u00D0\u00F0" +
 260.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00CA\u00EA" +
 260.177 -            "\u00CC\u00EC\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C5" +
 260.181 -            "\u00E5\u0000\u0000\u00BC\u00BE\u0000\u0000\u00A3" +
 260.182 -            "\u00B3\u00D1\u00F1\u0000\u0000\u00D2\u00F2\u0000" +
 260.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00D5\u00F5" +
 260.184 -            "\u0000\u0000\u00C0\u00E0\u0000\u0000\u00D8\u00F8" +
 260.185 -            "\u008C\u009C\u0000\u0000\u00AA\u00BA\u008A\u009A" +
 260.186 -            "\u00DE\u00FE\u008D\u009D\u0000\u0000\u0000\u0000" +
 260.187 -            "\u0000\u0000\u0000\u0000\u00D9\u00F9\u00DB\u00FB" +
 260.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u008F" +
 260.189 -            "\u009F\u00AF\u00BF\u008E\u009E\u0000\u0000\u0000" +
 260.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.221 -            "\u0000\u0000\u0000\u0000\u0000\u00A1\u0000\u0000" +
 260.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00A2\u00FF" +
 260.224 -            "\u0000\u00B2\u0000\u00BD\u0000\u0000\u0000\u0000" +
 260.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0096\u0097" +
 260.229 -            "\u0000\u0000\u0000\u0091\u0092\u0082\u0000\u0093" +
 260.230 -            "\u0094\u0084\u0000\u0086\u0087\u0095\u0000\u0000" +
 260.231 -            "\u0000\u0085\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.232 -            "\u0000\u0000\u0000\u0089\u0000\u0000\u0000\u0000" +
 260.233 -            "\u0000\u0000\u0000\u0000\u008B\u009B\u0000\u0000" +
 260.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0080" +
 260.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.258 -            "\u0000\u0000\u0000\u0099\u0000\u0000\u0000\u0000" +
 260.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 260.286 -            "\u0000";
 260.287 -
 260.288 -        private final static short index1[] = {
 260.289 -            0, 254, 438, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 260.290 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 260.291 -            675, 897, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 260.292 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 260.293 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 260.294 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 260.295 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 260.296 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 260.297 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 260.298 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 260.299 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 260.300 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 260.301 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 260.302 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 260.303 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 260.304 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 260.305 -        };
 260.306 -    }
 260.307 -}
   261.1 --- a/src/share/classes/sun/nio/cs/MS1251.java	Wed Jan 14 21:35:03 2009 -0800
   261.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   261.3 @@ -1,306 +0,0 @@
   261.4 -/*
   261.5 - * Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
   261.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   261.7 - *
   261.8 - * This code is free software; you can redistribute it and/or modify it
   261.9 - * under the terms of the GNU General Public License version 2 only, as
  261.10 - * published by the Free Software Foundation.  Sun designates this
  261.11 - * particular file as subject to the "Classpath" exception as provided
  261.12 - * by Sun in the LICENSE file that accompanied this code.
  261.13 - *
  261.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  261.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  261.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  261.17 - * version 2 for more details (a copy is included in the LICENSE file that
  261.18 - * accompanied this code).
  261.19 - *
  261.20 - * You should have received a copy of the GNU General Public License version
  261.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  261.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  261.23 - *
  261.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  261.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  261.26 - * have any questions.
  261.27 - */
  261.28 -
  261.29 -package sun.nio.cs;
  261.30 -
  261.31 -import java.nio.ByteBuffer;
  261.32 -import java.nio.CharBuffer;
  261.33 -import java.nio.charset.Charset;
  261.34 -import java.nio.charset.CharsetDecoder;
  261.35 -import java.nio.charset.CharsetEncoder;
  261.36 -import java.nio.charset.CharacterCodingException;
  261.37 -import java.nio.charset.MalformedInputException;
  261.38 -import java.nio.charset.UnmappableCharacterException;
  261.39 -import sun.nio.cs.StandardCharsets;
  261.40 -import sun.nio.cs.SingleByteDecoder;
  261.41 -import sun.nio.cs.SingleByteEncoder;
  261.42 -import sun.nio.cs.HistoricallyNamedCharset;
  261.43 -
  261.44 -
  261.45 -public class MS1251
  261.46 -    extends Charset
  261.47 -    implements HistoricallyNamedCharset
  261.48 -{
  261.49 -
  261.50 -    public String historicalName() {
  261.51 -        return "Cp1251";
  261.52 -    }
  261.53 -
  261.54 -    public MS1251() {
  261.55 -        super("windows-1251", StandardCharsets.aliases_MS1251);
  261.56 -    }
  261.57 -
  261.58 -    public boolean contains(Charset cs) {
  261.59 -        return ((cs.name().equals("US-ASCII"))
  261.60 -                || (cs instanceof MS1251));
  261.61 -    }
  261.62 -
  261.63 -    public CharsetDecoder newDecoder() {
  261.64 -        return new Decoder(this);
  261.65 -    }
  261.66 -
  261.67 -    public CharsetEncoder newEncoder() {
  261.68 -        return new Encoder(this);
  261.69 -    }
  261.70 -
  261.71 -
  261.72 -    /**
  261.73 -     * These accessors are temporarily supplied while sun.io
  261.74 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  261.75 -     * These facilitate sharing of conversion tables between the
  261.76 -     * two co-existing implementations. When sun.io converters
  261.77 -     * are made extinct these will be unncessary and should be removed
  261.78 -     */
  261.79 -
  261.80 -    public String getDecoderSingleByteMappings() {
  261.81 -        return Decoder.byteToCharTable;
  261.82 -
  261.83 -    }
  261.84 -
  261.85 -    public short[] getEncoderIndex1() {
  261.86 -        return Encoder.index1;
  261.87 -
  261.88 -    }
  261.89 -    public String getEncoderIndex2() {
  261.90 -        return Encoder.index2;
  261.91 -
  261.92 -    }
  261.93 -
  261.94 -    private static class Decoder extends SingleByteDecoder {
  261.95 -        public Decoder(Charset cs) {
  261.96 -            super(cs, byteToCharTable);
  261.97 -        }
  261.98 -
  261.99 -        private final static String byteToCharTable =
 261.100 -
 261.101 -            "\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021" +        // 0x80 - 0x87
 261.102 -            "\u20AC\u2030\u0409\u2039\u040A\u040C\u040B\u040F" +        // 0x88 - 0x8F
 261.103 -            "\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014" +        // 0x90 - 0x97
 261.104 -            "\uFFFD\u2122\u0459\u203A\u045A\u045C\u045B\u045F" +        // 0x98 - 0x9F
 261.105 -            "\u00A0\u040E\u045E\u0408\u00A4\u0490\u00A6\u00A7" +        // 0xA0 - 0xA7
 261.106 -            "\u0401\u00A9\u0404\u00AB\u00AC\u00AD\u00AE\u0407" +        // 0xA8 - 0xAF
 261.107 -            "\u00B0\u00B1\u0406\u0456\u0491\u00B5\u00B6\u00B7" +        // 0xB0 - 0xB7
 261.108 -            "\u0451\u2116\u0454\u00BB\u0458\u0405\u0455\u0457" +        // 0xB8 - 0xBF
 261.109 -            "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417" +        // 0xC0 - 0xC7
 261.110 -            "\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F" +        // 0xC8 - 0xCF
 261.111 -            "\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427" +        // 0xD0 - 0xD7
 261.112 -            "\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F" +        // 0xD8 - 0xDF
 261.113 -            "\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437" +        // 0xE0 - 0xE7
 261.114 -            "\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F" +        // 0xE8 - 0xEF
 261.115 -            "\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447" +        // 0xF0 - 0xF7
 261.116 -            "\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" +        // 0xF8 - 0xFF
 261.117 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 261.118 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 261.119 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 261.120 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 261.121 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 261.122 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 261.123 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 261.124 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 261.125 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 261.126 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 261.127 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 261.128 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 261.129 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 261.130 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 261.131 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 261.132 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 261.133 -    }
 261.134 -
 261.135 -    private static class Encoder extends SingleByteEncoder {
 261.136 -        public Encoder(Charset cs) {
 261.137 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 261.138 -        }
 261.139 -
 261.140 -        private final static String index2 =
 261.141 -
 261.142 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 261.143 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 261.144 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 261.145 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 261.146 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 261.147 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 261.148 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 261.149 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 261.150 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 261.151 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 261.152 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 261.153 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 261.154 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 261.155 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 261.156 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 261.157 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 261.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.160 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.162 -            "\u00A0\u0000\u0000\u0000\u00A4\u0000\u00A6\u00A7" +
 261.163 -            "\u0000\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u0000" +
 261.164 -            "\u00B0\u00B1\u0000\u0000\u0000\u00B5\u00B6\u00B7" +
 261.165 -            "\u0000\u0000\u0000\u00BB\u0000\u0000\u0000\u0000" +
 261.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.197 -            "\u0000\u0000\u0000\u0000\u00A8\u0080\u0081\u00AA" +
 261.198 -            "\u00BD\u00B2\u00AF\u00A3\u008A\u008C\u008E\u008D" +
 261.199 -            "\u0000\u00A1\u008F\u00C0\u00C1\u00C2\u00C3\u00C4" +
 261.200 -            "\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB\u00CC" +
 261.201 -            "\u00CD\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3\u00D4" +
 261.202 -            "\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA\u00DB\u00DC" +
 261.203 -            "\u00DD\u00DE\u00DF\u00E0\u00E1\u00E2\u00E3\u00E4" +
 261.204 -            "\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC" +
 261.205 -            "\u00ED\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3\u00F4" +
 261.206 -            "\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA\u00FB\u00FC" +
 261.207 -            "\u00FD\u00FE\u00FF\u0000\u00B8\u0090\u0083\u00BA" +
 261.208 -            "\u00BE\u00B3\u00BF\u00BC\u009A\u009C\u009E\u009D" +
 261.209 -            "\u0000\u00A2\u009F\u0000\u0000\u0000\u0000\u0000" +
 261.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.215 -            "\u0000\u0000\u0000\u00A5\u00B4\u0000\u0000\u0000" +
 261.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.229 -            "\u0000\u0000\u0000\u0096\u0097\u0000\u0000\u0000" +
 261.230 -            "\u0091\u0092\u0082\u0000\u0093\u0094\u0084\u0000" +
 261.231 -            "\u0086\u0087\u0095\u0000\u0000\u0000\u0085\u0000" +
 261.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.233 -            "\u0089\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.234 -            "\u0000\u008B\u009B\u0000\u0000\u0000\u0000\u0000" +
 261.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.248 -            "\u0000\u0000\u0000\u0000\u0088\u0000\u0000\u0000" +
 261.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.259 -            "\u00B9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.260 -            "\u0000\u0000\u0000\u0000\u0099\u0000\u0000\u0000" +
 261.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.286 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 261.288 -            "\u0000\u0000";
 261.289 -
 261.290 -        private final static short index1[] = {
 261.291 -            0, 188, 188, 188, 443, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 261.292 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 261.293 -            680, 914, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 261.294 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 261.295 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 261.296 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 261.297 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 261.298 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 261.299 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 261.300 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 261.301 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 261.302 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 261.303 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 261.304 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 261.305 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 261.306 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 261.307 -        };
 261.308 -    }
 261.309 -}
   262.1 --- a/src/share/classes/sun/nio/cs/MS1252.java	Wed Jan 14 21:35:03 2009 -0800
   262.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   262.3 @@ -1,304 +0,0 @@
   262.4 -/*
   262.5 - * Copyright 2000-2004 Sun Microsystems, Inc.  All Rights Reserved.
   262.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   262.7 - *
   262.8 - * This code is free software; you can redistribute it and/or modify it
   262.9 - * under the terms of the GNU General Public License version 2 only, as
  262.10 - * published by the Free Software Foundation.  Sun designates this
  262.11 - * particular file as subject to the "Classpath" exception as provided
  262.12 - * by Sun in the LICENSE file that accompanied this code.
  262.13 - *
  262.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  262.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  262.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  262.17 - * version 2 for more details (a copy is included in the LICENSE file that
  262.18 - * accompanied this code).
  262.19 - *
  262.20 - * You should have received a copy of the GNU General Public License version
  262.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  262.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  262.23 - *
  262.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  262.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  262.26 - * have any questions.
  262.27 - */
  262.28 -
  262.29 -package sun.nio.cs;
  262.30 -
  262.31 -import java.nio.ByteBuffer;
  262.32 -import java.nio.CharBuffer;
  262.33 -import java.nio.charset.Charset;
  262.34 -import java.nio.charset.CharsetDecoder;
  262.35 -import java.nio.charset.CharsetEncoder;
  262.36 -import java.nio.charset.CharacterCodingException;
  262.37 -import java.nio.charset.MalformedInputException;
  262.38 -import java.nio.charset.UnmappableCharacterException;
  262.39 -
  262.40 -
  262.41 -public class MS1252
  262.42 -    extends Charset
  262.43 -    implements HistoricallyNamedCharset
  262.44 -{
  262.45 -
  262.46 -    public MS1252() {
  262.47 -        super("windows-1252", StandardCharsets.aliases_MS1252);
  262.48 -    }
  262.49 -
  262.50 -    public String historicalName() {
  262.51 -        return "Cp1252";
  262.52 -    }
  262.53 -
  262.54 -    public boolean contains(Charset cs) {
  262.55 -        return ((cs instanceof MS1252)
  262.56 -                || (cs instanceof US_ASCII));
  262.57 -    }
  262.58 -
  262.59 -    public CharsetDecoder newDecoder() {
  262.60 -        return new Decoder(this);
  262.61 -    }
  262.62 -
  262.63 -    public CharsetEncoder newEncoder() {
  262.64 -        return new Encoder(this);
  262.65 -    }
  262.66 -
  262.67 -
  262.68 -    /**
  262.69 -     * These accessors are temporarily supplied while sun.io
  262.70 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  262.71 -     * These facilitate sharing of conversion tables between the
  262.72 -     * two co-existing implementations. When sun.io converters
  262.73 -     * are made extinct these will be unncessary and should be removed
  262.74 -     */
  262.75 -
  262.76 -    public String getDecoderSingleByteMappings() {
  262.77 -        return Decoder.byteToCharTable;
  262.78 -
  262.79 -    }
  262.80 -
  262.81 -    public short[] getEncoderIndex1() {
  262.82 -        return Encoder.index1;
  262.83 -
  262.84 -    }
  262.85 -    public String getEncoderIndex2() {
  262.86 -        return Encoder.index2;
  262.87 -
  262.88 -    }
  262.89 -
  262.90 -    private static class Decoder extends SingleByteDecoder {
  262.91 -
  262.92 -        public Decoder(Charset cs) {
  262.93 -            super(cs, byteToCharTable);
  262.94 -        }
  262.95 -
  262.96 -        private final static String byteToCharTable =
  262.97 -
  262.98 -            "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021" +     // 0x80 - 0x87
  262.99 -            "\u02C6\u2030\u0160\u2039\u0152\uFFFD\u017D\uFFFD" +     // 0x88 - 0x8F
 262.100 -            "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" +     // 0x90 - 0x97
 262.101 -            "\u02DC\u2122\u0161\u203A\u0153\uFFFD\u017E\u0178" +     // 0x98 - 0x9F
 262.102 -            "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +     // 0xA0 - 0xA7
 262.103 -            "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +     // 0xA8 - 0xAF
 262.104 -            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +     // 0xB0 - 0xB7
 262.105 -            "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +     // 0xB8 - 0xBF
 262.106 -            "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +     // 0xC0 - 0xC7
 262.107 -            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +     // 0xC8 - 0xCF
 262.108 -            "\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +     // 0xD0 - 0xD7
 262.109 -            "\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE\u00DF" +     // 0xD8 - 0xDF
 262.110 -            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +     // 0xE0 - 0xE7
 262.111 -            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +     // 0xE8 - 0xEF
 262.112 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +     // 0xF0 - 0xF7
 262.113 -            "\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u00FE\u00FF" +     // 0xF8 - 0xFF
 262.114 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 262.115 -            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 262.116 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 262.117 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 262.118 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 262.119 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 262.120 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 262.121 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 262.122 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 262.123 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 262.124 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 262.125 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 262.126 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 262.127 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 262.128 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 262.129 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 262.130 -
 262.131 -    }
 262.132 -
 262.133 -    private static class Encoder extends SingleByteEncoder {
 262.134 -
 262.135 -        public Encoder(Charset cs) {
 262.136 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 262.137 -        }
 262.138 -
 262.139 -        private final static String index2 =
 262.140 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 262.141 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 262.142 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 262.143 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 262.144 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 262.145 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 262.146 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 262.147 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 262.148 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 262.149 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 262.150 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 262.151 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 262.152 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 262.153 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 262.154 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 262.155 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 262.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.160 -            "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +
 262.161 -            "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +
 262.162 -            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
 262.163 -            "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +
 262.164 -            "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 262.165 -            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +
 262.166 -            "\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +
 262.167 -            "\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE\u00DF" +
 262.168 -            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +
 262.169 -            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +
 262.170 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 262.171 -            "\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u00FE\u00FF" +
 262.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.182 -            "\u0000\u0000\u008C\u009C\u0000\u0000\u0000\u0000" +
 262.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.184 -            "\u008A\u009A\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.187 -            "\u009F\u0000\u0000\u0000\u0000\u008E\u009E\u0000" +
 262.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.190 -            "\u0000\u0000\u0083\u0000\u0000\u0000\u0000\u0000" +
 262.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.222 -            "\u0000\u0000\u0000\u0088\u0000\u0000\u0000\u0000" +
 262.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.225 -            "\u0000\u0098\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.229 -            "\u0000\u0000\u0000\u0000\u0000\u0096\u0097\u0000" +
 262.230 -            "\u0000\u0000\u0091\u0092\u0082\u0000\u0093\u0094" +
 262.231 -            "\u0084\u0000\u0086\u0087\u0095\u0000\u0000\u0000" +
 262.232 -            "\u0085\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.233 -            "\u0000\u0000\u0089\u0000\u0000\u0000\u0000\u0000" +
 262.234 -            "\u0000\u0000\u0000\u008B\u009B\u0000\u0000\u0000" +
 262.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0000" +
 262.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.259 -            "\u0000\u0000\u0099\u0000\u0000\u0000\u0000\u0000" +
 262.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 262.286 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 262.287 -
 262.288 -        private final static short index1[] = {
 262.289 -            0, 256, 461, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 262.290 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 262.291 -            698, 920, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 262.292 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 262.293 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 262.294 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 262.295 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 262.296 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 262.297 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 262.298 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 262.299 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 262.300 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 262.301 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 262.302 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 262.303 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 262.304 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 262.305 -        };
 262.306 -    }
 262.307 -}
   263.1 --- a/src/share/classes/sun/nio/cs/MS1253.java	Wed Jan 14 21:35:03 2009 -0800
   263.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   263.3 @@ -1,303 +0,0 @@
   263.4 -/*
   263.5 - * Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
   263.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   263.7 - *
   263.8 - * This code is free software; you can redistribute it and/or modify it
   263.9 - * under the terms of the GNU General Public License version 2 only, as
  263.10 - * published by the Free Software Foundation.  Sun designates this
  263.11 - * particular file as subject to the "Classpath" exception as provided
  263.12 - * by Sun in the LICENSE file that accompanied this code.
  263.13 - *
  263.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  263.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  263.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  263.17 - * version 2 for more details (a copy is included in the LICENSE file that
  263.18 - * accompanied this code).
  263.19 - *
  263.20 - * You should have received a copy of the GNU General Public License version
  263.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  263.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  263.23 - *
  263.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  263.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  263.26 - * have any questions.
  263.27 - */
  263.28 -
  263.29 -package sun.nio.cs;
  263.30 -
  263.31 -import java.nio.ByteBuffer;
  263.32 -import java.nio.CharBuffer;
  263.33 -import java.nio.charset.Charset;
  263.34 -import java.nio.charset.CharsetDecoder;
  263.35 -import java.nio.charset.CharsetEncoder;
  263.36 -import java.nio.charset.CharacterCodingException;
  263.37 -import java.nio.charset.MalformedInputException;
  263.38 -import java.nio.charset.UnmappableCharacterException;
  263.39 -import sun.nio.cs.StandardCharsets;
  263.40 -import sun.nio.cs.SingleByteDecoder;
  263.41 -import sun.nio.cs.SingleByteEncoder;
  263.42 -import sun.nio.cs.HistoricallyNamedCharset;
  263.43 -
  263.44 -
  263.45 -public class MS1253
  263.46 -    extends Charset
  263.47 -    implements HistoricallyNamedCharset
  263.48 -{
  263.49 -
  263.50 -    public String historicalName() {
  263.51 -        return "Cp1253";
  263.52 -    }
  263.53 -
  263.54 -    public MS1253() {
  263.55 -        super("windows-1253", StandardCharsets.aliases_MS1253);
  263.56 -    }
  263.57 -
  263.58 -    public boolean contains(Charset cs) {
  263.59 -        return ((cs.name().equals("US-ASCII"))
  263.60 -                || (cs instanceof MS1253));
  263.61 -    }
  263.62 -
  263.63 -    public CharsetDecoder newDecoder() {
  263.64 -        return new Decoder(this);
  263.65 -    }
  263.66 -
  263.67 -    public CharsetEncoder newEncoder() {
  263.68 -        return new Encoder(this);
  263.69 -    }
  263.70 -
  263.71 -
  263.72 -    /**
  263.73 -     * These accessors are temporarily supplied while sun.io
  263.74 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  263.75 -     * These facilitate sharing of conversion tables between the
  263.76 -     * two co-existing implementations. When sun.io converters
  263.77 -     * are made extinct these will be unncessary and should be removed
  263.78 -     */
  263.79 -
  263.80 -    public String getDecoderSingleByteMappings() {
  263.81 -        return Decoder.byteToCharTable;
  263.82 -
  263.83 -    }
  263.84 -
  263.85 -    public short[] getEncoderIndex1() {
  263.86 -        return Encoder.index1;
  263.87 -
  263.88 -    }
  263.89 -    public String getEncoderIndex2() {
  263.90 -        return Encoder.index2;
  263.91 -
  263.92 -    }
  263.93 -    private static class Decoder extends SingleByteDecoder {
  263.94 -            public Decoder(Charset cs) {
  263.95 -                super(cs, byteToCharTable);
  263.96 -        }
  263.97 -
  263.98 -        private final static String byteToCharTable =
  263.99 -
 263.100 -            "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021" +        // 0x80 - 0x87
 263.101 -            "\uFFFD\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x88 - 0x8F
 263.102 -            "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" +        // 0x90 - 0x97
 263.103 -            "\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x98 - 0x9F
 263.104 -            "\u00A0\u0385\u0386\u00A3\u00A4\u00A5\u00A6\u00A7" +        // 0xA0 - 0xA7
 263.105 -            "\u00A8\u00A9\uFFFD\u00AB\u00AC\u00AD\u00AE\u2015" +        // 0xA8 - 0xAF
 263.106 -            "\u00B0\u00B1\u00B2\u00B3\u0384\u00B5\u00B6\u00B7" +        // 0xB0 - 0xB7
 263.107 -            "\u0388\u0389\u038A\u00BB\u038C\u00BD\u038E\u038F" +        // 0xB8 - 0xBF
 263.108 -            "\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397" +        // 0xC0 - 0xC7
 263.109 -            "\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F" +        // 0xC8 - 0xCF
 263.110 -            "\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7" +        // 0xD0 - 0xD7
 263.111 -            "\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF" +        // 0xD8 - 0xDF
 263.112 -            "\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7" +        // 0xE0 - 0xE7
 263.113 -            "\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF" +        // 0xE8 - 0xEF
 263.114 -            "\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7" +        // 0xF0 - 0xF7
 263.115 -            "\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD" +        // 0xF8 - 0xFF
 263.116 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 263.117 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 263.118 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 263.119 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 263.120 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 263.121 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 263.122 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 263.123 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 263.124 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 263.125 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 263.126 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 263.127 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 263.128 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 263.129 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 263.130 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 263.131 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 263.132 -    }
 263.133 -
 263.134 -    private static class Encoder extends SingleByteEncoder {
 263.135 -        public Encoder(Charset cs) {
 263.136 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 263.137 -        }
 263.138 -        private final static String index2 =
 263.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 263.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 263.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 263.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 263.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 263.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 263.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 263.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 263.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 263.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 263.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 263.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 263.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 263.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 263.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 263.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 263.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.159 -            "\u00A0\u0000\u0000\u00A3\u00A4\u00A5\u00A6\u00A7" +
 263.160 -            "\u00A8\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u0000" +
 263.161 -            "\u00B0\u00B1\u00B2\u00B3\u0000\u00B5\u00B6\u00B7" +
 263.162 -            "\u0000\u0000\u0000\u00BB\u0000\u00BD\u0000\u0000" +
 263.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.181 -            "\u0083\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.213 -            "\u0000\u00B4\u00A1\u00A2\u0000\u00B8\u00B9\u00BA" +
 263.214 -            "\u0000\u00BC\u0000\u00BE\u00BF\u00C0\u00C1\u00C2" +
 263.215 -            "\u00C3\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA" +
 263.216 -            "\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1\u0000" +
 263.217 -            "\u00D3\u00D4\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA" +
 263.218 -            "\u00DB\u00DC\u00DD\u00DE\u00DF\u00E0\u00E1\u00E2" +
 263.219 -            "\u00E3\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA" +
 263.220 -            "\u00EB\u00EC\u00ED\u00EE\u00EF\u00F0\u00F1\u00F2" +
 263.221 -            "\u00F3\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA" +
 263.222 -            "\u00FB\u00FC\u00FD\u00FE\u0000\u0000\u0000\u0000" +
 263.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.228 -            "\u0000\u0000\u0000\u0000\u0000\u0096\u0097\u00AF" +
 263.229 -            "\u0000\u0000\u0091\u0092\u0082\u0000\u0093\u0094" +
 263.230 -            "\u0084\u0000\u0086\u0087\u0095\u0000\u0000\u0000" +
 263.231 -            "\u0085\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.232 -            "\u0000\u0000\u0089\u0000\u0000\u0000\u0000\u0000" +
 263.233 -            "\u0000\u0000\u0000\u008B\u009B\u0000\u0000\u0000" +
 263.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0000" +
 263.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.258 -            "\u0000\u0000\u0099\u0000\u0000\u0000\u0000\u0000" +
 263.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 263.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 263.286 -
 263.287 -        private final static short index1[] = {
 263.288 -            0, 190, 337, 461, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 263.289 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 263.290 -            698, 920, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 263.291 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 263.292 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 263.293 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 263.294 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 263.295 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 263.296 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 263.297 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 263.298 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 263.299 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 263.300 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 263.301 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 263.302 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 263.303 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 263.304 -        };
 263.305 -    }
 263.306 -}
   264.1 --- a/src/share/classes/sun/nio/cs/MS1254.java	Wed Jan 14 21:35:03 2009 -0800
   264.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   264.3 @@ -1,305 +0,0 @@
   264.4 -/*
   264.5 - * Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
   264.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   264.7 - *
   264.8 - * This code is free software; you can redistribute it and/or modify it
   264.9 - * under the terms of the GNU General Public License version 2 only, as
  264.10 - * published by the Free Software Foundation.  Sun designates this
  264.11 - * particular file as subject to the "Classpath" exception as provided
  264.12 - * by Sun in the LICENSE file that accompanied this code.
  264.13 - *
  264.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  264.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  264.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  264.17 - * version 2 for more details (a copy is included in the LICENSE file that
  264.18 - * accompanied this code).
  264.19 - *
  264.20 - * You should have received a copy of the GNU General Public License version
  264.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  264.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  264.23 - *
  264.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  264.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  264.26 - * have any questions.
  264.27 - */
  264.28 -
  264.29 -package sun.nio.cs;
  264.30 -
  264.31 -import java.nio.ByteBuffer;
  264.32 -import java.nio.CharBuffer;
  264.33 -import java.nio.charset.Charset;
  264.34 -import java.nio.charset.CharsetDecoder;
  264.35 -import java.nio.charset.CharsetEncoder;
  264.36 -import java.nio.charset.CharacterCodingException;
  264.37 -import java.nio.charset.MalformedInputException;
  264.38 -import java.nio.charset.UnmappableCharacterException;
  264.39 -import sun.nio.cs.StandardCharsets;
  264.40 -import sun.nio.cs.SingleByteDecoder;
  264.41 -import sun.nio.cs.SingleByteEncoder;
  264.42 -import sun.nio.cs.HistoricallyNamedCharset;
  264.43 -
  264.44 -
  264.45 -public class MS1254
  264.46 -    extends Charset
  264.47 -    implements HistoricallyNamedCharset
  264.48 -{
  264.49 -
  264.50 -    public String historicalName() {
  264.51 -        return "Cp1254";
  264.52 -    }
  264.53 -
  264.54 -    public MS1254() {
  264.55 -        super("windows-1254", StandardCharsets.aliases_MS1254);
  264.56 -    }
  264.57 -
  264.58 -    public boolean contains(Charset cs) {
  264.59 -        return ((cs.name().equals("US-ASCII"))
  264.60 -                || (cs instanceof MS1254));
  264.61 -    }
  264.62 -
  264.63 -    public CharsetDecoder newDecoder() {
  264.64 -        return new Decoder(this);
  264.65 -    }
  264.66 -
  264.67 -    public CharsetEncoder newEncoder() {
  264.68 -        return new Encoder(this);
  264.69 -    }
  264.70 -
  264.71 -
  264.72 -    /**
  264.73 -     * These accessors are temporarily supplied while sun.io
  264.74 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  264.75 -     * These facilitate sharing of conversion tables between the
  264.76 -     * two co-existing implementations. When sun.io converters
  264.77 -     * are made extinct these will be unncessary and should be removed
  264.78 -     */
  264.79 -
  264.80 -    public String getDecoderSingleByteMappings() {
  264.81 -        return Decoder.byteToCharTable;
  264.82 -
  264.83 -    }
  264.84 -
  264.85 -    public short[] getEncoderIndex1() {
  264.86 -        return Encoder.index1;
  264.87 -
  264.88 -    }
  264.89 -    public String getEncoderIndex2() {
  264.90 -        return Encoder.index2;
  264.91 -
  264.92 -    }
  264.93 -
  264.94 -    private static class Decoder extends SingleByteDecoder {
  264.95 -        public Decoder(Charset cs) {
  264.96 -            super(cs, byteToCharTable);
  264.97 -        }
  264.98 -
  264.99 -        private final static String byteToCharTable =
 264.100 -
 264.101 -            "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021" +        // 0x80 - 0x87
 264.102 -            "\u02C6\u2030\u0160\u2039\u0152\uFFFD\uFFFD\uFFFD" +        // 0x88 - 0x8F
 264.103 -            "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" +        // 0x90 - 0x97
 264.104 -            "\u02DC\u2122\u0161\u203A\u0153\uFFFD\uFFFD\u0178" +        // 0x98 - 0x9F
 264.105 -            "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +        // 0xA0 - 0xA7
 264.106 -            "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +        // 0xA8 - 0xAF
 264.107 -            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +        // 0xB0 - 0xB7
 264.108 -            "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +        // 0xB8 - 0xBF
 264.109 -            "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +        // 0xC0 - 0xC7
 264.110 -            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +        // 0xC8 - 0xCF
 264.111 -            "\u011E\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +        // 0xD0 - 0xD7
 264.112 -            "\u00D8\u00D9\u00DA\u00DB\u00DC\u0130\u015E\u00DF" +        // 0xD8 - 0xDF
 264.113 -            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +        // 0xE0 - 0xE7
 264.114 -            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +        // 0xE8 - 0xEF
 264.115 -            "\u011F\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +        // 0xF0 - 0xF7
 264.116 -            "\u00F8\u00F9\u00FA\u00FB\u00FC\u0131\u015F\u00FF" +        // 0xF8 - 0xFF
 264.117 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 264.118 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 264.119 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 264.120 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 264.121 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 264.122 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 264.123 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 264.124 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 264.125 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 264.126 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 264.127 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 264.128 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 264.129 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 264.130 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 264.131 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 264.132 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 264.133 -    }
 264.134 -
 264.135 -    private static class Encoder extends SingleByteEncoder {
 264.136 -        public Encoder(Charset cs) {
 264.137 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 264.138 -        }
 264.139 -        private final static String index2 =
 264.140 -
 264.141 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 264.142 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 264.143 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 264.144 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 264.145 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 264.146 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 264.147 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 264.148 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 264.149 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 264.150 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 264.151 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 264.152 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 264.153 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 264.154 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 264.155 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 264.156 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 264.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.160 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.161 -            "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +
 264.162 -            "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +
 264.163 -            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
 264.164 -            "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +
 264.165 -            "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 264.166 -            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +
 264.167 -            "\u0000\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +
 264.168 -            "\u00D8\u00D9\u00DA\u00DB\u00DC\u0000\u0000\u00DF" +
 264.169 -            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +
 264.170 -            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +
 264.171 -            "\u0000\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 264.172 -            "\u00F8\u00F9\u00FA\u00FB\u00FC\u0000\u0000\u00FF" +
 264.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00D0\u00F0" +
 264.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.179 -            "\u00DD\u00FD\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.183 -            "\u0000\u0000\u008C\u009C\u0000\u0000\u0000\u0000" +
 264.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00DE\u00FE" +
 264.185 -            "\u008A\u009A\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.188 -            "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.191 -            "\u0000\u0000\u0083\u0000\u0000\u0000\u0000\u0000" +
 264.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.223 -            "\u0000\u0000\u0000\u0088\u0000\u0000\u0000\u0000" +
 264.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.226 -            "\u0000\u0098\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.230 -            "\u0000\u0000\u0000\u0000\u0000\u0096\u0097\u0000" +
 264.231 -            "\u0000\u0000\u0091\u0092\u0082\u0000\u0093\u0094" +
 264.232 -            "\u0084\u0000\u0086\u0087\u0095\u0000\u0000\u0000" +
 264.233 -            "\u0085\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.234 -            "\u0000\u0000\u0089\u0000\u0000\u0000\u0000\u0000" +
 264.235 -            "\u0000\u0000\u0000\u008B\u009B\u0000\u0000\u0000" +
 264.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0000" +
 264.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.260 -            "\u0000\u0000\u0099\u0000\u0000\u0000\u0000\u0000" +
 264.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.286 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 264.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 264.288 -
 264.289 -        private final static short index1[] = {
 264.290 -            0, 256, 461, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 264.291 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 264.292 -            698, 920, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 264.293 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 264.294 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 264.295 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 264.296 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 264.297 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 264.298 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 264.299 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 264.300 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 264.301 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 264.302 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 264.303 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 264.304 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 264.305 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 264.306 -        };
 264.307 -    }
 264.308 -}
   265.1 --- a/src/share/classes/sun/nio/cs/MS1257.java	Wed Jan 14 21:35:03 2009 -0800
   265.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   265.3 @@ -1,304 +0,0 @@
   265.4 -/*
   265.5 - * Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
   265.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   265.7 - *
   265.8 - * This code is free software; you can redistribute it and/or modify it
   265.9 - * under the terms of the GNU General Public License version 2 only, as
  265.10 - * published by the Free Software Foundation.  Sun designates this
  265.11 - * particular file as subject to the "Classpath" exception as provided
  265.12 - * by Sun in the LICENSE file that accompanied this code.
  265.13 - *
  265.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  265.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  265.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  265.17 - * version 2 for more details (a copy is included in the LICENSE file that
  265.18 - * accompanied this code).
  265.19 - *
  265.20 - * You should have received a copy of the GNU General Public License version
  265.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  265.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  265.23 - *
  265.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  265.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  265.26 - * have any questions.
  265.27 - */
  265.28 -
  265.29 -package sun.nio.cs;
  265.30 -
  265.31 -import java.nio.ByteBuffer;
  265.32 -import java.nio.CharBuffer;
  265.33 -import java.nio.charset.Charset;
  265.34 -import java.nio.charset.CharsetDecoder;
  265.35 -import java.nio.charset.CharsetEncoder;
  265.36 -import java.nio.charset.CharacterCodingException;
  265.37 -import java.nio.charset.MalformedInputException;
  265.38 -import java.nio.charset.UnmappableCharacterException;
  265.39 -import sun.nio.cs.StandardCharsets;
  265.40 -import sun.nio.cs.SingleByteDecoder;
  265.41 -import sun.nio.cs.SingleByteEncoder;
  265.42 -import sun.nio.cs.HistoricallyNamedCharset;
  265.43 -
  265.44 -
  265.45 -public class MS1257
  265.46 -    extends Charset
  265.47 -    implements HistoricallyNamedCharset
  265.48 -{
  265.49 -
  265.50 -    public String historicalName() {
  265.51 -        return "Cp1257";
  265.52 -    }
  265.53 -
  265.54 -    public MS1257() {
  265.55 -        super("windows-1257", StandardCharsets.aliases_MS1257);
  265.56 -    }
  265.57 -
  265.58 -    public boolean contains(Charset cs) {
  265.59 -        return ((cs.name().equals("US-ASCII"))
  265.60 -                || (cs instanceof MS1257));
  265.61 -    }
  265.62 -
  265.63 -    public CharsetDecoder newDecoder() {
  265.64 -        return new Decoder(this);
  265.65 -    }
  265.66 -
  265.67 -    public CharsetEncoder newEncoder() {
  265.68 -        return new Encoder(this);
  265.69 -    }
  265.70 -
  265.71 -
  265.72 -    /**
  265.73 -     * These accessors are temporarily supplied while sun.io
  265.74 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  265.75 -     * These facilitate sharing of conversion tables between the
  265.76 -     * two co-existing implementations. When sun.io converters
  265.77 -     * are made extinct these will be unncessary and should be removed
  265.78 -     */
  265.79 -
  265.80 -    public String getDecoderSingleByteMappings() {
  265.81 -        return Decoder.byteToCharTable;
  265.82 -
  265.83 -    }
  265.84 -
  265.85 -    public short[] getEncoderIndex1() {
  265.86 -        return Encoder.index1;
  265.87 -
  265.88 -    }
  265.89 -    public String getEncoderIndex2() {
  265.90 -        return Encoder.index2;
  265.91 -
  265.92 -    }
  265.93 -
  265.94 -    private static class Decoder extends SingleByteDecoder {
  265.95 -        public Decoder(Charset cs) {
  265.96 -            super(cs, byteToCharTable);
  265.97 -        }
  265.98 -
  265.99 -        private final static String byteToCharTable =
 265.100 -
 265.101 -            "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021" +        // 0x80 - 0x87
 265.102 -            "\uFFFD\u2030\uFFFD\u2039\uFFFD\u00A8\u02C7\u00B8" +        // 0x88 - 0x8F
 265.103 -            "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" +        // 0x90 - 0x97
 265.104 -            "\uFFFD\u2122\uFFFD\u203A\uFFFD\u00AF\u02DB\uFFFD" +        // 0x98 - 0x9F
 265.105 -            "\u00A0\uFFFD\u00A2\u00A3\u00A4\uFFFD\u00A6\u00A7" +        // 0xA0 - 0xA7
 265.106 -            "\u00D8\u00A9\u0156\u00AB\u00AC\u00AD\u00AE\u00C6" +        // 0xA8 - 0xAF
 265.107 -            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +        // 0xB0 - 0xB7
 265.108 -            "\u00F8\u00B9\u0157\u00BB\u00BC\u00BD\u00BE\u00E6" +        // 0xB8 - 0xBF
 265.109 -            "\u0104\u012E\u0100\u0106\u00C4\u00C5\u0118\u0112" +        // 0xC0 - 0xC7
 265.110 -            "\u010C\u00C9\u0179\u0116\u0122\u0136\u012A\u013B" +        // 0xC8 - 0xCF
 265.111 -            "\u0160\u0143\u0145\u00D3\u014C\u00D5\u00D6\u00D7" +        // 0xD0 - 0xD7
 265.112 -            "\u0172\u0141\u015A\u016A\u00DC\u017B\u017D\u00DF" +        // 0xD8 - 0xDF
 265.113 -            "\u0105\u012F\u0101\u0107\u00E4\u00E5\u0119\u0113" +        // 0xE0 - 0xE7
 265.114 -            "\u010D\u00E9\u017A\u0117\u0123\u0137\u012B\u013C" +        // 0xE8 - 0xEF
 265.115 -            "\u0161\u0144\u0146\u00F3\u014D\u00F5\u00F6\u00F7" +        // 0xF0 - 0xF7
 265.116 -            "\u0173\u0142\u015B\u016B\u00FC\u017C\u017E\u02D9" +        // 0xF8 - 0xFF
 265.117 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 265.118 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 265.119 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 265.120 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 265.121 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 265.122 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 265.123 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 265.124 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 265.125 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 265.126 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 265.127 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 265.128 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 265.129 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 265.130 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 265.131 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 265.132 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 265.133 -    }
 265.134 -
 265.135 -    private static class Encoder extends SingleByteEncoder {
 265.136 -        public Encoder(Charset cs) {
 265.137 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 265.138 -        }
 265.139 -
 265.140 -        private final static String index2 =
 265.141 -
 265.142 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 265.143 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 265.144 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 265.145 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 265.146 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 265.147 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 265.148 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 265.149 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 265.150 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 265.151 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 265.152 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 265.153 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 265.154 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 265.155 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 265.156 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 265.157 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 265.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.160 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.162 -            "\u00A0\u0000\u00A2\u00A3\u00A4\u0000\u00A6\u00A7" +
 265.163 -            "\u008D\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u009D" +
 265.164 -            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
 265.165 -            "\u008F\u00B9\u0000\u00BB\u00BC\u00BD\u00BE\u0000" +
 265.166 -            "\u0000\u0000\u0000\u0000\u00C4\u00C5\u00AF\u0000" +
 265.167 -            "\u0000\u00C9\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.168 -            "\u0000\u0000\u0000\u00D3\u0000\u00D5\u00D6\u00D7" +
 265.169 -            "\u00A8\u0000\u0000\u0000\u00DC\u0000\u0000\u00DF" +
 265.170 -            "\u0000\u0000\u0000\u0000\u00E4\u00E5\u00BF\u0000" +
 265.171 -            "\u0000\u00E9\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.172 -            "\u0000\u0000\u0000\u00F3\u0000\u00F5\u00F6\u00F7" +
 265.173 -            "\u00B8\u0000\u0000\u0000\u00FC\u0000\u0000\u0000" +
 265.174 -            "\u00C2\u00E2\u0000\u0000\u00C0\u00E0\u00C3\u00E3" +
 265.175 -            "\u0000\u0000\u0000\u0000\u00C8\u00E8\u0000\u0000" +
 265.176 -            "\u0000\u0000\u00C7\u00E7\u0000\u0000\u00CB\u00EB" +
 265.177 -            "\u00C6\u00E6\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.178 -            "\u0000\u0000\u00CC\u00EC\u0000\u0000\u0000\u0000" +
 265.179 -            "\u0000\u0000\u00CE\u00EE\u0000\u0000\u00C1\u00E1" +
 265.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00CD\u00ED" +
 265.181 -            "\u0000\u0000\u0000\u00CF\u00EF\u0000\u0000\u0000" +
 265.182 -            "\u0000\u00D9\u00F9\u00D1\u00F1\u00D2\u00F2\u0000" +
 265.183 -            "\u0000\u0000\u0000\u0000\u00D4\u00F4\u0000\u0000" +
 265.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00AA\u00BA" +
 265.185 -            "\u0000\u0000\u00DA\u00FA\u0000\u0000\u0000\u0000" +
 265.186 -            "\u00D0\u00F0\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.187 -            "\u0000\u0000\u00DB\u00FB\u0000\u0000\u0000\u0000" +
 265.188 -            "\u0000\u0000\u00D8\u00F8\u0000\u0000\u0000\u0000" +
 265.189 -            "\u0000\u00CA\u00EA\u00DD\u00FD\u00DE\u00FE\u0000" +
 265.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u008E" +
 265.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.224 -            "\u0000\u00FF\u0000\u009E\u0000\u0000\u0000\u0000" +
 265.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.229 -            "\u0096\u0097\u0000\u0000\u0000\u0091\u0092\u0082" +
 265.230 -            "\u0000\u0093\u0094\u0084\u0000\u0086\u0087\u0095" +
 265.231 -            "\u0000\u0000\u0000\u0085\u0000\u0000\u0000\u0000" +
 265.232 -            "\u0000\u0000\u0000\u0000\u0000\u0089\u0000\u0000" +
 265.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u008B\u009B" +
 265.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.248 -            "\u0000\u0080\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.258 -            "\u0000\u0000\u0000\u0000\u0000\u0099\u0000\u0000" +
 265.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 265.286 -            "\u0000\u0000\u0000";
 265.287 -
 265.288 -        private final static short index1[] = {
 265.289 -            0, 256, 440, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 265.290 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 265.291 -            677, 899, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 265.292 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 265.293 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 265.294 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 265.295 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 265.296 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 265.297 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 265.298 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 265.299 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 265.300 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 265.301 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 265.302 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 265.303 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 265.304 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 265.305 -        };
 265.306 -    }
 265.307 -}
   266.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   266.2 +++ b/src/share/classes/sun/nio/cs/SingleByte.java	Tue Jan 20 09:42:07 2009 -0800
   266.3 @@ -0,0 +1,241 @@
   266.4 +/*
   266.5 + * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
   266.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   266.7 + *
   266.8 + * This code is free software; you can redistribute it and/or modify it
   266.9 + * under the terms of the GNU General Public License version 2 only, as
  266.10 + * published by the Free Software Foundation.  Sun designates this
  266.11 + * particular file as subject to the "Classpath" exception as provided
  266.12 + * by Sun in the LICENSE file that accompanied this code.
  266.13 + *
  266.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
  266.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  266.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  266.17 + * version 2 for more details (a copy is included in the LICENSE file that
  266.18 + * accompanied this code).
  266.19 + *
  266.20 + * You should have received a copy of the GNU General Public License version
  266.21 + * 2 along with this work; if not, write to the Free Software Foundation,
  266.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  266.23 + *
  266.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  266.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
  266.26 + * have any questions.
  266.27 + */
  266.28 +
  266.29 +package sun.nio.cs;
  266.30 +
  266.31 +import java.nio.Buffer;
  266.32 +import java.nio.ByteBuffer;
  266.33 +import java.nio.CharBuffer;
  266.34 +import java.nio.charset.Charset;
  266.35 +import java.nio.charset.CharsetDecoder;
  266.36 +import java.nio.charset.CharsetEncoder;
  266.37 +import java.nio.charset.CoderResult;
  266.38 +import static sun.nio.cs.CharsetMapping.*;
  266.39 +
  266.40 +public class SingleByte
  266.41 +{
  266.42 +    private static final CoderResult withResult(CoderResult cr,
  266.43 +                                                Buffer src, int sp,
  266.44 +                                                Buffer dst, int dp)
  266.45 +    {
  266.46 +        src.position(sp - src.arrayOffset());
  266.47 +        dst.position(dp - dst.arrayOffset());
  266.48 +        return cr;
  266.49 +    }
  266.50 +
  266.51 +    public static class Decoder extends CharsetDecoder {
  266.52 +        private final char[] b2c;
  266.53 +
  266.54 +        public Decoder(Charset cs, char[] b2c) {
  266.55 +            super(cs, 1.0f, 1.0f);
  266.56 +            this.b2c = b2c;
  266.57 +        }
  266.58 +
  266.59 +        private CoderResult decodeArrayLoop(ByteBuffer src, CharBuffer dst) {
  266.60 +            byte[] sa = src.array();
  266.61 +            int sp = src.arrayOffset() + src.position();
  266.62 +            int sl = src.arrayOffset() + src.limit();
  266.63 +
  266.64 +            char[] da = dst.array();
  266.65 +            int dp = dst.arrayOffset() + dst.position();
  266.66 +            int dl = dst.arrayOffset() + dst.limit();
  266.67 +
  266.68 +            CoderResult cr = CoderResult.UNDERFLOW;
  266.69 +            if ((dl - dp) < (sl - sp)) {
  266.70 +                sl = sp + (dl - dp);
  266.71 +                cr = CoderResult.OVERFLOW;
  266.72 +            }
  266.73 +
  266.74 +            while (sp < sl) {
  266.75 +                char c = decode(sa[sp]);
  266.76 +                if (c == UNMAPPABLE_DECODING) {
  266.77 +                    return withResult(CoderResult.unmappableForLength(1),
  266.78 +                               src, sp, dst, dp);
  266.79 +                }
  266.80 +                da[dp++] = c;
  266.81 +                sp++;
  266.82 +            }
  266.83 +            return withResult(cr, src, sp, dst, dp);
  266.84 +        }
  266.85 +
  266.86 +        private CoderResult decodeBufferLoop(ByteBuffer src, CharBuffer dst) {
  266.87 +            int mark = src.position();
  266.88 +            try {
  266.89 +                while (src.hasRemaining()) {
  266.90 +                    char c = decode(src.get());
  266.91 +                    if (c == UNMAPPABLE_DECODING)
  266.92 +                        return CoderResult.unmappableForLength(1);
  266.93 +                    if (!dst.hasRemaining())
  266.94 +                        return CoderResult.OVERFLOW;
  266.95 +                    dst.put(c);
  266.96 +                    mark++;
  266.97 +                }
  266.98 +                return CoderResult.UNDERFLOW;
  266.99 +            } finally {
 266.100 +                src.position(mark);
 266.101 +            }
 266.102 +        }
 266.103 +
 266.104 +        protected CoderResult decodeLoop(ByteBuffer src, CharBuffer dst) {
 266.105 +            if (src.hasArray() && dst.hasArray())
 266.106 +                return decodeArrayLoop(src, dst);
 266.107 +            else
 266.108 +                return decodeBufferLoop(src, dst);
 266.109 +        }
 266.110 +
 266.111 +        private final char decode(int b) {
 266.112 +            return b2c[b + 128];
 266.113 +        }
 266.114 +    }
 266.115 +
 266.116 +    public static class Encoder extends CharsetEncoder {
 266.117 +        private Surrogate.Parser sgp;
 266.118 +        private final char[] c2b;
 266.119 +        private final char[] c2bIndex;
 266.120 +
 266.121 +        public Encoder(Charset cs, char[] c2b, char[] c2bIndex) {
 266.122 +            super(cs, 1.0f, 1.0f);
 266.123 +            this.c2b = c2b;
 266.124 +            this.c2bIndex = c2bIndex;
 266.125 +        }
 266.126 +
 266.127 +        public boolean canEncode(char c) {
 266.128 +            return encode(c) != UNMAPPABLE_ENCODING;
 266.129 +        }
 266.130 +
 266.131 +        private CoderResult encodeArrayLoop(CharBuffer src, ByteBuffer dst) {
 266.132 +            char[] sa = src.array();
 266.133 +            int sp = src.arrayOffset() + src.position();
 266.134 +            int sl = src.arrayOffset() + src.limit();
 266.135 +
 266.136 +            byte[] da = dst.array();
 266.137 +            int dp = dst.arrayOffset() + dst.position();
 266.138 +            int dl = dst.arrayOffset() + dst.limit();
 266.139 +
 266.140 +            CoderResult cr = CoderResult.UNDERFLOW;
 266.141 +            if ((dl - dp) < (sl - sp)) {
 266.142 +                sl = sp + (dl - dp);
 266.143 +                cr = CoderResult.OVERFLOW;
 266.144 +            }
 266.145 +
 266.146 +            while (sp < sl) {
 266.147 +                char c = sa[sp];
 266.148 +                int b = encode(c);
 266.149 +                if (b == UNMAPPABLE_ENCODING) {
 266.150 +                    if (Surrogate.is(c)) {
 266.151 +                        if (sgp == null)
 266.152 +                            sgp = new Surrogate.Parser();
 266.153 +                        if (sgp.parse(c, sa, sp, sl) < 0)
 266.154 +                            return withResult(sgp.error(), src, sp, dst, dp);
 266.155 +                        return withResult(sgp.unmappableResult(), src, sp, dst, dp);
 266.156 +                    }
 266.157 +                    return withResult(CoderResult.unmappableForLength(1),
 266.158 +                               src, sp, dst, dp);
 266.159 +                }
 266.160 +                da[dp++] = (byte)b;
 266.161 +                sp++;
 266.162 +            }
 266.163 +            return withResult(cr, src, sp, dst, dp);
 266.164 +        }
 266.165 +
 266.166 +        private CoderResult encodeBufferLoop(CharBuffer src, ByteBuffer dst) {
 266.167 +            int mark = src.position();
 266.168 +            try {
 266.169 +                while (src.hasRemaining()) {
 266.170 +                    char c = src.get();
 266.171 +                    int b = encode(c);
 266.172 +                    if (b == UNMAPPABLE_ENCODING) {
 266.173 +                        if (Surrogate.is(c)) {
 266.174 +                            if (sgp == null)
 266.175 +                                sgp = new Surrogate.Parser();
 266.176 +                            if (sgp.parse(c, src) < 0)
 266.177 +                                return sgp.error();
 266.178 +                            return sgp.unmappableResult();
 266.179 +                        }
 266.180 +                        return CoderResult.unmappableForLength(1);
 266.181 +                    }
 266.182 +                    if (!dst.hasRemaining())
 266.183 +                        return CoderResult.OVERFLOW;
 266.184 +                    dst.put((byte)b);
 266.185 +                    mark++;
 266.186 +                }
 266.187 +                return CoderResult.UNDERFLOW;
 266.188 +            } finally {
 266.189 +                src.position(mark);
 266.190 +            }
 266.191 +        }
 266.192 +
 266.193 +        protected CoderResult encodeLoop(CharBuffer src, ByteBuffer dst) {
 266.194 +            if (src.hasArray() && dst.hasArray())
 266.195 +                return encodeArrayLoop(src, dst);
 266.196 +            else
 266.197 +                return encodeBufferLoop(src, dst);
 266.198 +        }
 266.199 +
 266.200 +        private final int encode(char ch) {
 266.201 +            char index = c2bIndex[ch >> 8];
 266.202 +            if (index == UNMAPPABLE_ENCODING)
 266.203 +                return UNMAPPABLE_ENCODING;
 266.204 +            return c2b[index + (ch & 0xff)];
 266.205 +        }
 266.206 +    }
 266.207 +
 266.208 +    // init the c2b and c2bIndex tables from b2c.
 266.209 +    public static void initC2B(char[] b2c, char[] c2bNR,
 266.210 +                               char[] c2b, char[] c2bIndex) {
 266.211 +        for (int i = 0; i < c2bIndex.length; i++)
 266.212 +            c2bIndex[i] = UNMAPPABLE_ENCODING;
 266.213 +        for (int i = 0; i < c2b.length; i++)
 266.214 +            c2b[i] = UNMAPPABLE_ENCODING;
 266.215 +        int off = 0;
 266.216 +        for (int i = 0; i < b2c.length; i++) {
 266.217 +            char c = b2c[i];
 266.218 +            if (c == UNMAPPABLE_DECODING)
 266.219 +                continue;
 266.220 +            int index = (c >> 8);
 266.221 +            if (c2bIndex[index] == UNMAPPABLE_ENCODING) {
 266.222 +                c2bIndex[index] = (char)off;
 266.223 +                off += 0x100;
 266.224 +            }
 266.225 +            index = c2bIndex[index] + (c & 0xff);
 266.226 +            c2b[index] = (char)((i>=0x80)?(i-0x80):(i+0x80));
 266.227 +        }
 266.228 +        if (c2bNR != null) {
 266.229 +            // c-->b nr entries
 266.230 +            int i = 0;
 266.231 +            while (i < c2bNR.length) {
 266.232 +                char b = c2bNR[i++];
 266.233 +                char c = c2bNR[i++];
 266.234 +                int index = (c >> 8);
 266.235 +                if (c2bIndex[index] == UNMAPPABLE_ENCODING) {
 266.236 +                    c2bIndex[index] = (char)off;
 266.237 +                    off += 0x100;
 266.238 +                }
 266.239 +                index = c2bIndex[index] + (c & 0xff);
 266.240 +                c2b[index] = b;
 266.241 +            }
 266.242 +        }
 266.243 +    }
 266.244 +}
   267.1 --- a/src/share/classes/sun/nio/cs/ext/IBM037.java	Wed Jan 14 21:35:03 2009 -0800
   267.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   267.3 @@ -1,221 +0,0 @@
   267.4 -
   267.5 -/*
   267.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   267.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   267.8 - *
   267.9 - * This code is free software; you can redistribute it and/or modify it
  267.10 - * under the terms of the GNU General Public License version 2 only, as
  267.11 - * published by the Free Software Foundation.  Sun designates this
  267.12 - * particular file as subject to the "Classpath" exception as provided
  267.13 - * by Sun in the LICENSE file that accompanied this code.
  267.14 - *
  267.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  267.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  267.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  267.18 - * version 2 for more details (a copy is included in the LICENSE file that
  267.19 - * accompanied this code).
  267.20 - *
  267.21 - * You should have received a copy of the GNU General Public License version
  267.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  267.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  267.24 - *
  267.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  267.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  267.27 - * have any questions.
  267.28 - */
  267.29 -
  267.30 -package sun.nio.cs.ext;
  267.31 -
  267.32 -
  267.33 -import java.nio.charset.Charset;
  267.34 -import java.nio.charset.CharsetDecoder;
  267.35 -import java.nio.charset.CharsetEncoder;
  267.36 -import sun.nio.cs.StandardCharsets;
  267.37 -import sun.nio.cs.SingleByteDecoder;
  267.38 -import sun.nio.cs.SingleByteEncoder;
  267.39 -import sun.nio.cs.HistoricallyNamedCharset;
  267.40 -
  267.41 -public class IBM037
  267.42 -    extends Charset
  267.43 -    implements HistoricallyNamedCharset
  267.44 -{
  267.45 -
  267.46 -    public IBM037() {
  267.47 -        super("IBM037", ExtendedCharsets.aliasesFor("IBM037"));
  267.48 -    }
  267.49 -
  267.50 -    public String historicalName() {
  267.51 -        return "Cp037";
  267.52 -    }
  267.53 -
  267.54 -    public boolean contains(Charset cs) {
  267.55 -        return (cs instanceof IBM037);
  267.56 -    }
  267.57 -
  267.58 -    public CharsetDecoder newDecoder() {
  267.59 -        return new Decoder(this);
  267.60 -    }
  267.61 -
  267.62 -    public CharsetEncoder newEncoder() {
  267.63 -        return new Encoder(this);
  267.64 -    }
  267.65 -
  267.66 -
  267.67 -    /**
  267.68 -     * These accessors are temporarily supplied while sun.io
  267.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  267.70 -     * These facilitate sharing of conversion tables between the
  267.71 -     * two co-existing implementations. When sun.io converters
  267.72 -     * are made extinct these will be unncessary and should be removed
  267.73 -     */
  267.74 -
  267.75 -    public String getDecoderSingleByteMappings() {
  267.76 -        return Decoder.byteToCharTable;
  267.77 -
  267.78 -    }
  267.79 -
  267.80 -    public short[] getEncoderIndex1() {
  267.81 -        return Encoder.index1;
  267.82 -
  267.83 -    }
  267.84 -    public String getEncoderIndex2() {
  267.85 -        return Encoder.index2;
  267.86 -
  267.87 -    }
  267.88 -
  267.89 -    protected static class Decoder extends SingleByteDecoder {
  267.90 -            public Decoder(Charset cs) {
  267.91 -                super(cs, byteToCharTable);
  267.92 -            }
  267.93 -
  267.94 -        private final static String byteToCharTable =
  267.95 -
  267.96 -            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
  267.97 -            "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" +        // 0x88 - 0x8F
  267.98 -            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
  267.99 -            "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" +        // 0x98 - 0x9F
 267.100 -            "\u00B5\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
 267.101 -            "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" +        // 0xA8 - 0xAF
 267.102 -            "\u005E\u00A3\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" +        // 0xB0 - 0xB7
 267.103 -            "\u00BD\u00BE\u005B\u005D\u00AF\u00A8\u00B4\u00D7" +        // 0xB8 - 0xBF
 267.104 -            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
 267.105 -            "\u0048\u0049\u00AD\u00F4\u00F6\u00F2\u00F3\u00F5" +        // 0xC8 - 0xCF
 267.106 -            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
 267.107 -            "\u0051\u0052\u00B9\u00FB\u00FC\u00F9\u00FA\u00FF" +        // 0xD8 - 0xDF
 267.108 -            "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
 267.109 -            "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" +        // 0xE8 - 0xEF
 267.110 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
 267.111 -            "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" +        // 0xF8 - 0xFF
 267.112 -            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
 267.113 -            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
 267.114 -            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
 267.115 -            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 267.116 -            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
 267.117 -            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
 267.118 -            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
 267.119 -            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
 267.120 -            "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u00E5" +        // 0x40 - 0x47
 267.121 -            "\u00E7\u00F1\u00A2\u002E\u003C\u0028\u002B\u007C" +        // 0x48 - 0x4F
 267.122 -            "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
 267.123 -            "\u00EC\u00DF\u0021\u0024\u002A\u0029\u003B\u00AC" +        // 0x58 - 0x5F
 267.124 -            "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" +        // 0x60 - 0x67
 267.125 -            "\u00C7\u00D1\u00A6\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
 267.126 -            "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +        // 0x70 - 0x77
 267.127 -            "\u00CC\u0060\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
 267.128 -
 267.129 -    }
 267.130 -
 267.131 -    protected static class Encoder extends SingleByteEncoder {
 267.132 -            public Encoder(Charset cs) {
 267.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 267.134 -            }
 267.135 -
 267.136 -            private final static String index2 =
 267.137 -
 267.138 -
 267.139 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
 267.140 -            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
 267.141 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 267.142 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 267.143 -            "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" +
 267.144 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 267.145 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 267.146 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 267.147 -            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 267.148 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 267.149 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 267.150 -            "\u00E7\u00E8\u00E9\u00BA\u00E0\u00BB\u00B0\u006D" +
 267.151 -            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 267.152 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 267.153 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 267.154 -            "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00A1\u0007" +
 267.155 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 267.156 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 267.157 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 267.158 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 267.159 -            "\u0041\u00AA\u004A\u00B1\u009F\u00B2\u006A\u00B5" +
 267.160 -            "\u00BD\u00B4\u009A\u008A\u005F\u00CA\u00AF\u00BC" +
 267.161 -            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
 267.162 -            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
 267.163 -            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
 267.164 -            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
 267.165 -            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
 267.166 -            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
 267.167 -            "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" +
 267.168 -            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
 267.169 -            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
 267.170 -            "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
 267.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 267.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 267.203 -
 267.204 -    private final static short index1[] = {
 267.205 -            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 267.206 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 267.207 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 267.208 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 267.209 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 267.210 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 267.211 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 267.212 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 267.213 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 267.214 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 267.215 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 267.216 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 267.217 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 267.218 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 267.219 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 267.220 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 267.221 -
 267.222 -        };
 267.223 -    }
 267.224 -}
   268.1 --- a/src/share/classes/sun/nio/cs/ext/IBM1006.java	Wed Jan 14 21:35:03 2009 -0800
   268.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   268.3 @@ -1,336 +0,0 @@
   268.4 -
   268.5 -/*
   268.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   268.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   268.8 - *
   268.9 - * This code is free software; you can redistribute it and/or modify it
  268.10 - * under the terms of the GNU General Public License version 2 only, as
  268.11 - * published by the Free Software Foundation.  Sun designates this
  268.12 - * particular file as subject to the "Classpath" exception as provided
  268.13 - * by Sun in the LICENSE file that accompanied this code.
  268.14 - *
  268.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  268.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  268.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  268.18 - * version 2 for more details (a copy is included in the LICENSE file that
  268.19 - * accompanied this code).
  268.20 - *
  268.21 - * You should have received a copy of the GNU General Public License version
  268.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  268.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  268.24 - *
  268.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  268.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  268.27 - * have any questions.
  268.28 - */
  268.29 -
  268.30 -package sun.nio.cs.ext;
  268.31 -
  268.32 -
  268.33 -import java.nio.charset.Charset;
  268.34 -import java.nio.charset.CharsetDecoder;
  268.35 -import java.nio.charset.CharsetEncoder;
  268.36 -import sun.nio.cs.StandardCharsets;
  268.37 -import sun.nio.cs.SingleByteDecoder;
  268.38 -import sun.nio.cs.SingleByteEncoder;
  268.39 -import sun.nio.cs.HistoricallyNamedCharset;
  268.40 -
  268.41 -public class IBM1006
  268.42 -    extends Charset
  268.43 -    implements HistoricallyNamedCharset
  268.44 -{
  268.45 -
  268.46 -    public IBM1006() {
  268.47 -        super("x-IBM1006", ExtendedCharsets.aliasesFor("x-IBM1006"));
  268.48 -    }
  268.49 -
  268.50 -    public String historicalName() {
  268.51 -        return "Cp1006";
  268.52 -    }
  268.53 -
  268.54 -    public boolean contains(Charset cs) {
  268.55 -        return (cs instanceof IBM1006);
  268.56 -    }
  268.57 -
  268.58 -    public CharsetDecoder newDecoder() {
  268.59 -        return new Decoder(this);
  268.60 -    }
  268.61 -
  268.62 -    public CharsetEncoder newEncoder() {
  268.63 -        return new Encoder(this);
  268.64 -    }
  268.65 -
  268.66 -
  268.67 -    /**
  268.68 -     * These accessors are temporarily supplied while sun.io
  268.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  268.70 -     * These facilitate sharing of conversion tables between the
  268.71 -     * two co-existing implementations. When sun.io converters
  268.72 -     * are made extinct these will be unncessary and should be removed
  268.73 -     */
  268.74 -
  268.75 -    public String getDecoderSingleByteMappings() {
  268.76 -        return Decoder.byteToCharTable;
  268.77 -
  268.78 -    }
  268.79 -
  268.80 -    public short[] getEncoderIndex1() {
  268.81 -        return Encoder.index1;
  268.82 -
  268.83 -    }
  268.84 -    public String getEncoderIndex2() {
  268.85 -        return Encoder.index2;
  268.86 -
  268.87 -    }
  268.88 -
  268.89 -    private static class Decoder extends SingleByteDecoder {
  268.90 -            public Decoder(Charset cs) {
  268.91 -                super(cs, byteToCharTable);
  268.92 -        }
  268.93 -
  268.94 -        private final static String byteToCharTable =
  268.95 -
  268.96 -            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +        // 0x80 - 0x87
  268.97 -            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +        // 0x88 - 0x8F
  268.98 -            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +        // 0x90 - 0x97
  268.99 -            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +        // 0x98 - 0x9F
 268.100 -            "\u00A0\u06F0\u06F1\u06F2\u06F3\u06F4\u06F5\u06F6" +        // 0xA0 - 0xA7
 268.101 -            "\u06F7\u06F8\u06F9\u060C\u061B\u00AD\u061F\uFE81" +        // 0xA8 - 0xAF
 268.102 -            "\uFE8D\uFE8E\uF8FB\uFE8F\uFE91\uFB56\uFB58\uFE93" +        // 0xB0 - 0xB7
 268.103 -            "\uFE95\uFE97\uFB66\uFB68\uFE99\uFE9B\uFE9D\uFE9F" +        // 0xB8 - 0xBF
 268.104 -            "\uFB7A\uFB7C\uFEA1\uFEA3\uFEA5\uFEA7\uFEA9\uFB88" +        // 0xC0 - 0xC7
 268.105 -            "\uFEAB\uFEAD\uFB8C\uFEAF\uFB8A\uFEB1\uFEB3\uFEB5" +        // 0xC8 - 0xCF
 268.106 -            "\uFEB7\uFEB9\uFEBB\uFEBD\uFEBF\uFEC3\uFEC7\uFEC9" +        // 0xD0 - 0xD7
 268.107 -            "\uFECA\uFECB\uFECC\uFECD\uFECE\uFECF\uFED0\uFED1" +        // 0xD8 - 0xDF
 268.108 -            "\uFED3\uFED5\uFED7\uFB8E\uFEDB\uFB92\uFB94\uFEDD" +        // 0xE0 - 0xE7
 268.109 -            "\uFEDF\uFEE0\uFEE1\uFEE3\uFB9E\uFEE5\uFEE7\uFE85" +        // 0xE8 - 0xEF
 268.110 -            "\uFEED\uFBA6\uFBA8\uFBA9\uFBAA\uFE80\uFE89\uFE8A" +        // 0xF0 - 0xF7
 268.111 -            "\uFE8B\uFBFC\uFBFD\uFBFE\uFBB0\uFBAE\uFE7C\uFE7D" +        // 0xF8 - 0xFF
 268.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 268.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 268.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 268.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 268.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 268.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 268.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 268.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 268.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 268.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 268.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 268.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 268.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 268.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 268.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 268.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 268.128 -
 268.129 -    }
 268.130 -
 268.131 -    private static class Encoder extends SingleByteEncoder {
 268.132 -            public Encoder(Charset cs) {
 268.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 268.134 -            }
 268.135 -
 268.136 -            private final static String index2 =
 268.137 -
 268.138 -
 268.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 268.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 268.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 268.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 268.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 268.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 268.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 268.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 268.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 268.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 268.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 268.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 268.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 268.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 268.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 268.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 268.155 -            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 268.156 -            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
 268.157 -            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
 268.158 -            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
 268.159 -            "\u00A0\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.160 -            "\u0000\u0000\u0000\u0000\u0000\u00AD\u0000\u0000" +
 268.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.162 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00AB\u0000" +
 268.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.194 -            "\u0000\u0000\u0000\u0000\u0000\u00AC\u0000\u0000" +
 268.195 -            "\u0000\u00AE\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.221 -            "\u0000\u0000\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6" +
 268.222 -            "\u00A7\u00A8\u00A9\u00AA\u0000\u0000\u0000\u0000" +
 268.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B2" +
 268.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00B5\u0000" +
 268.265 -            "\u00B6\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00BA\u0000" +
 268.267 -            "\u00BB\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.269 -            "\u0000\u0000\u00C0\u0000\u00C1\u0000\u0000\u0000" +
 268.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.271 -            "\u00C7\u0000\u00CC\u0000\u00CA\u0000\u00E3\u0000" +
 268.272 -            "\u0000\u0000\u00E5\u0000\u00E6\u0000\u0000\u0000" +
 268.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00EC\u0000" +
 268.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F1\u0000" +
 268.275 -            "\u00F2\u00F3\u00F4\u0000\u0000\u0000\u00FD\u0000" +
 268.276 -            "\u00FC\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.285 -            "\u0000\u0000\u0000\u0000\u00F9\u00FA\u00FB\u0000" +
 268.286 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.301 -            "\u0000\u0000\u0000\u00FE\u00FF\u0000\u0000\u00F5" +
 268.302 -            "\u00AF\u0000\u0000\u0000\u00EF\u0000\u0000\u0000" +
 268.303 -            "\u00F6\u00F7\u00F8\u0000\u00B0\u00B1\u00B3\u0000" +
 268.304 -            "\u00B4\u0000\u00B7\u0000\u00B8\u0000\u00B9\u0000" +
 268.305 -            "\u00BC\u0000\u00BD\u0000\u00BE\u0000\u00BF\u0000" +
 268.306 -            "\u00C2\u0000\u00C3\u0000\u00C4\u0000\u00C5\u0000" +
 268.307 -            "\u00C6\u0000\u00C8\u0000\u00C9\u0000\u00CB\u0000" +
 268.308 -            "\u00CD\u0000\u00CE\u0000\u00CF\u0000\u00D0\u0000" +
 268.309 -            "\u00D1\u0000\u00D2\u0000\u00D3\u0000\u00D4\u0000" +
 268.310 -            "\u0000\u0000\u00D5\u0000\u0000\u0000\u00D6\u0000" +
 268.311 -            "\u00D7\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE" +
 268.312 -            "\u00DF\u0000\u00E0\u0000\u00E1\u0000\u00E2\u0000" +
 268.313 -            "\u0000\u0000\u00E4\u0000\u00E7\u0000\u00E8\u00E9" +
 268.314 -            "\u00EA\u0000\u00EB\u0000\u00ED\u0000\u00EE\u0000" +
 268.315 -            "\u0000\u0000\u0000\u0000\u00F0\u0000\u0000\u0000" +
 268.316 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 268.317 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 268.318 -
 268.319 -    private final static short index1[] = {
 268.320 -            0, 174, 174, 174, 174, 174, 418, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 268.321 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 268.322 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 268.323 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 268.324 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 268.325 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 268.326 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 268.327 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 268.328 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 268.329 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 268.330 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 268.331 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 268.332 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 268.333 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 268.334 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 268.335 -            174, 174, 174, 174, 174, 174, 174, 174, 668, 174, 174, 920, 174, 174, 1175, 174,
 268.336 -
 268.337 -        };
 268.338 -    }
 268.339 -}
   269.1 --- a/src/share/classes/sun/nio/cs/ext/IBM1025.java	Wed Jan 14 21:35:03 2009 -0800
   269.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   269.3 @@ -1,272 +0,0 @@
   269.4 -
   269.5 -/*
   269.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   269.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   269.8 - *
   269.9 - * This code is free software; you can redistribute it and/or modify it
  269.10 - * under the terms of the GNU General Public License version 2 only, as
  269.11 - * published by the Free Software Foundation.  Sun designates this
  269.12 - * particular file as subject to the "Classpath" exception as provided
  269.13 - * by Sun in the LICENSE file that accompanied this code.
  269.14 - *
  269.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  269.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  269.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  269.18 - * version 2 for more details (a copy is included in the LICENSE file that
  269.19 - * accompanied this code).
  269.20 - *
  269.21 - * You should have received a copy of the GNU General Public License version
  269.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  269.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  269.24 - *
  269.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  269.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  269.27 - * have any questions.
  269.28 - */
  269.29 -
  269.30 -package sun.nio.cs.ext;
  269.31 -
  269.32 -
  269.33 -import java.nio.charset.Charset;
  269.34 -import java.nio.charset.CharsetDecoder;
  269.35 -import java.nio.charset.CharsetEncoder;
  269.36 -import sun.nio.cs.StandardCharsets;
  269.37 -import sun.nio.cs.SingleByteDecoder;
  269.38 -import sun.nio.cs.SingleByteEncoder;
  269.39 -import sun.nio.cs.HistoricallyNamedCharset;
  269.40 -
  269.41 -public class IBM1025
  269.42 -    extends Charset
  269.43 -    implements HistoricallyNamedCharset
  269.44 -{
  269.45 -
  269.46 -    public IBM1025() {
  269.47 -        super("x-IBM1025", ExtendedCharsets.aliasesFor("x-IBM1025"));
  269.48 -    }
  269.49 -
  269.50 -    public String historicalName() {
  269.51 -        return "Cp1025";
  269.52 -    }
  269.53 -
  269.54 -    public boolean contains(Charset cs) {
  269.55 -        return (cs instanceof IBM1025);
  269.56 -    }
  269.57 -
  269.58 -    public CharsetDecoder newDecoder() {
  269.59 -        return new Decoder(this);
  269.60 -    }
  269.61 -
  269.62 -    public CharsetEncoder newEncoder() {
  269.63 -        return new Encoder(this);
  269.64 -    }
  269.65 -
  269.66 -
  269.67 -    /**
  269.68 -     * These accessors are temporarily supplied while sun.io
  269.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  269.70 -     * These facilitate sharing of conversion tables between the
  269.71 -     * two co-existing implementations. When sun.io converters
  269.72 -     * are made extinct these will be unncessary and should be removed
  269.73 -     */
  269.74 -
  269.75 -    public String getDecoderSingleByteMappings() {
  269.76 -        return Decoder.byteToCharTable;
  269.77 -
  269.78 -    }
  269.79 -
  269.80 -    public short[] getEncoderIndex1() {
  269.81 -        return Encoder.index1;
  269.82 -
  269.83 -    }
  269.84 -    public String getEncoderIndex2() {
  269.85 -        return Encoder.index2;
  269.86 -
  269.87 -    }
  269.88 -
  269.89 -    private static class Decoder extends SingleByteDecoder {
  269.90 -            public Decoder(Charset cs) {
  269.91 -                super(cs, byteToCharTable);
  269.92 -        }
  269.93 -
  269.94 -        private final static String byteToCharTable =
  269.95 -
  269.96 -            "\u0446\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
  269.97 -            "\u0068\u0069\u0434\u0435\u0444\u0433\u0445\u0438" +        // 0x88 - 0x8F
  269.98 -            "\u0439\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
  269.99 -            "\u0071\u0072\u043A\u043B\u043C\u043D\u043E\u043F" +        // 0x98 - 0x9F
 269.100 -            "\u044F\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
 269.101 -            "\u0079\u007A\u0440\u0441\u0442\u0443\u0436\u0432" +        // 0xA8 - 0xAF
 269.102 -            "\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A" +        // 0xB0 - 0xB7
 269.103 -            "\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413" +        // 0xB8 - 0xBF
 269.104 -            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
 269.105 -            "\u0048\u0049\u0425\u0418\u0419\u041A\u041B\u041C" +        // 0xC8 - 0xCF
 269.106 -            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
 269.107 -            "\u0051\u0052\u041D\u041E\u041F\u042F\u0420\u0421" +        // 0xD8 - 0xDF
 269.108 -            "\\\u00A7\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
 269.109 -            "\u0059\u005A\u0422\u0423\u0416\u0412\u042C\u042B" +        // 0xE8 - 0xEF
 269.110 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
 269.111 -            "\u0038\u0039\u0417\u0428\u042D\u0429\u0427\u009F" +        // 0xF8 - 0xFF
 269.112 -            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
 269.113 -            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
 269.114 -            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
 269.115 -            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 269.116 -            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
 269.117 -            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
 269.118 -            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
 269.119 -            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
 269.120 -            "\u0020\u00A0\u0452\u0453\u0451\u0454\u0455\u0456" +        // 0x40 - 0x47
 269.121 -            "\u0457\u0458\u005B\u002E\u003C\u0028\u002B\u0021" +        // 0x48 - 0x4F
 269.122 -            "\u0026\u0459\u045A\u045B\u045C\u045E\u045F\u042A" +        // 0x50 - 0x57
 269.123 -            "\u2116\u0402\u005D\u0024\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
 269.124 -            "\u002D\u002F\u0403\u0401\u0404\u0405\u0406\u0407" +        // 0x60 - 0x67
 269.125 -            "\u0408\u0409\u007C\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
 269.126 -            "\u040A\u040B\u040C\u00AD\u040E\u040F\u044E\u0430" +        // 0x70 - 0x77
 269.127 -            "\u0431\u0060\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
 269.128 -
 269.129 -    }
 269.130 -
 269.131 -    private static class Encoder extends SingleByteEncoder {
 269.132 -            public Encoder(Charset cs) {
 269.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 269.134 -            }
 269.135 -
 269.136 -            private final static String index2 =
 269.137 -
 269.138 -
 269.139 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
 269.140 -            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
 269.141 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 269.142 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 269.143 -            "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" +
 269.144 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 269.145 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 269.146 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 269.147 -            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 269.148 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 269.149 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 269.150 -            "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u005F\u006D" +
 269.151 -            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 269.152 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 269.153 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 269.154 -            "\u00A7\u00A8\u00A9\u00C0\u006A\u00D0\u00A1\u0007" +
 269.155 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 269.156 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 269.157 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 269.158 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 269.159 -            "\u0041\u0000\u0000\u0000\u0000\u0000\u0000\u00E1" +
 269.160 -            "\u0000\u0000\u0000\u0000\u0000\u0073\u0000\u0000" +
 269.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.162 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0063\u0059" +
 269.193 -            "\u0062\u0064\u0065\u0066\u0067\u0068\u0069\u0070" +
 269.194 -            "\u0071\u0072\u0000\u0074\u0075\u00B9\u00BA\u00ED" +
 269.195 -            "\u00BF\u00BC\u00BD\u00EC\u00FA\u00CB\u00CC\u00CD" +
 269.196 -            "\u00CE\u00CF\u00DA\u00DB\u00DC\u00DE\u00DF\u00EA" +
 269.197 -            "\u00EB\u00BE\u00CA\u00BB\u00FE\u00FB\u00FD\u0057" +
 269.198 -            "\u00EF\u00EE\u00FC\u00B8\u00DD\u0077\u0078\u00AF" +
 269.199 -            "\u008D\u008A\u008B\u00AE\u00B2\u008F\u0090\u009A" +
 269.200 -            "\u009B\u009C\u009D\u009E\u009F\u00AA\u00AB\u00AC" +
 269.201 -            "\u00AD\u008C\u008E\u0080\u00B6\u00B3\u00B5\u00B7" +
 269.202 -            "\u00B1\u00B0\u00B4\u0076\u00A0\u0000\u0044\u0042" +
 269.203 -            "\u0043\u0045\u0046\u0047\u0048\u0049\u0051\u0052" +
 269.204 -            "\u0053\u0054\u0000\u0055\u0056\u0000\u0000\u0000" +
 269.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.224 -            "\u0000\u0000\u0000\u0000\u0000\u0058\u0000\u0000" +
 269.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 269.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 269.254 -
 269.255 -    private final static short index1[] = {
 269.256 -            0, 174, 174, 174, 429, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 269.257 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 269.258 -            174, 663, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 269.259 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 269.260 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 269.261 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 269.262 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 269.263 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 269.264 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 269.265 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 269.266 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 269.267 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 269.268 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 269.269 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 269.270 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 269.271 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 269.272 -
 269.273 -        };
 269.274 -    }
 269.275 -}
   270.1 --- a/src/share/classes/sun/nio/cs/ext/IBM1026.java	Wed Jan 14 21:35:03 2009 -0800
   270.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   270.3 @@ -1,233 +0,0 @@
   270.4 -
   270.5 -/*
   270.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   270.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   270.8 - *
   270.9 - * This code is free software; you can redistribute it and/or modify it
  270.10 - * under the terms of the GNU General Public License version 2 only, as
  270.11 - * published by the Free Software Foundation.  Sun designates this
  270.12 - * particular file as subject to the "Classpath" exception as provided
  270.13 - * by Sun in the LICENSE file that accompanied this code.
  270.14 - *
  270.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  270.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  270.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  270.18 - * version 2 for more details (a copy is included in the LICENSE file that
  270.19 - * accompanied this code).
  270.20 - *
  270.21 - * You should have received a copy of the GNU General Public License version
  270.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  270.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  270.24 - *
  270.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  270.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  270.27 - * have any questions.
  270.28 - */
  270.29 -
  270.30 -package sun.nio.cs.ext;
  270.31 -
  270.32 -
  270.33 -import java.nio.charset.Charset;
  270.34 -import java.nio.charset.CharsetDecoder;
  270.35 -import java.nio.charset.CharsetEncoder;
  270.36 -import sun.nio.cs.StandardCharsets;
  270.37 -import sun.nio.cs.SingleByteDecoder;
  270.38 -import sun.nio.cs.SingleByteEncoder;
  270.39 -import sun.nio.cs.HistoricallyNamedCharset;
  270.40 -
  270.41 -public class IBM1026
  270.42 -    extends Charset
  270.43 -    implements HistoricallyNamedCharset
  270.44 -{
  270.45 -
  270.46 -    public IBM1026() {
  270.47 -        super("IBM1026", ExtendedCharsets.aliasesFor("IBM1026"));
  270.48 -    }
  270.49 -
  270.50 -    public String historicalName() {
  270.51 -        return "Cp1026";
  270.52 -    }
  270.53 -
  270.54 -    public boolean contains(Charset cs) {
  270.55 -        return (cs instanceof IBM1026);
  270.56 -    }
  270.57 -
  270.58 -    public CharsetDecoder newDecoder() {
  270.59 -        return new Decoder(this);
  270.60 -    }
  270.61 -
  270.62 -    public CharsetEncoder newEncoder() {
  270.63 -        return new Encoder(this);
  270.64 -    }
  270.65 -
  270.66 -
  270.67 -    /**
  270.68 -     * These accessors are temporarily supplied while sun.io
  270.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  270.70 -     * These facilitate sharing of conversion tables between the
  270.71 -     * two co-existing implementations. When sun.io converters
  270.72 -     * are made extinct these will be unncessary and should be removed
  270.73 -     */
  270.74 -
  270.75 -    public String getDecoderSingleByteMappings() {
  270.76 -        return Decoder.byteToCharTable;
  270.77 -
  270.78 -    }
  270.79 -
  270.80 -    public short[] getEncoderIndex1() {
  270.81 -        return Encoder.index1;
  270.82 -
  270.83 -    }
  270.84 -    public String getEncoderIndex2() {
  270.85 -        return Encoder.index2;
  270.86 -
  270.87 -    }
  270.88 -
  270.89 -    private static class Decoder extends SingleByteDecoder {
  270.90 -            public Decoder(Charset cs) {
  270.91 -                super(cs, byteToCharTable);
  270.92 -        }
  270.93 -
  270.94 -        private final static String byteToCharTable =
  270.95 -
  270.96 -            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
  270.97 -            "\u0068\u0069\u00AB\u00BB\u007D\u0060\u00A6\u00B1" +        // 0x88 - 0x8F
  270.98 -            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
  270.99 -            "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" +        // 0x98 - 0x9F
 270.100 -            "\u00B5\u00F6\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
 270.101 -            "\u0079\u007A\u00A1\u00BF\u005D\u0024\u0040\u00AE" +        // 0xA8 - 0xAF
 270.102 -            "\u00A2\u00A3\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" +        // 0xB0 - 0xB7
 270.103 -            "\u00BD\u00BE\u00AC\u007C\u00AF\u00A8\u00B4\u00D7" +        // 0xB8 - 0xBF
 270.104 -            "\u00E7\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
 270.105 -            "\u0048\u0049\u00AD\u00F4\u007E\u00F2\u00F3\u00F5" +        // 0xC8 - 0xCF
 270.106 -            "\u011F\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
 270.107 -            "\u0051\u0052\u00B9\u00FB\\\u00F9\u00FA\u00FF" +    // 0xD8 - 0xDF
 270.108 -            "\u00FC\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +        // 0xE0 - 0xE7
 270.109 -            "\u0059\u005A\u00B2\u00D4\u0023\u00D2\u00D3\u00D5" +        // 0xE8 - 0xEF
 270.110 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
 270.111 -            "\u0038\u0039\u00B3\u00DB\"\u00D9\u00DA\u009F" +    // 0xF8 - 0xFF
 270.112 -            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
 270.113 -            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
 270.114 -            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
 270.115 -            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 270.116 -            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
 270.117 -            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
 270.118 -            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
 270.119 -            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
 270.120 -            "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u00E5" +        // 0x40 - 0x47
 270.121 -            "\u007B\u00F1\u00C7\u002E\u003C\u0028\u002B\u0021" +        // 0x48 - 0x4F
 270.122 -            "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
 270.123 -            "\u00EC\u00DF\u011E\u0130\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
 270.124 -            "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" +        // 0x60 - 0x67
 270.125 -            "\u005B\u00D1\u015F\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
 270.126 -            "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +        // 0x70 - 0x77
 270.127 -            "\u00CC\u0131\u003A\u00D6\u015E\'\u003D\u00DC";     // 0x78 - 0x7F
 270.128 -
 270.129 -    }
 270.130 -
 270.131 -    private static class Encoder extends SingleByteEncoder {
 270.132 -            public Encoder(Charset cs) {
 270.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 270.134 -            }
 270.135 -
 270.136 -            private final static String index2 =
 270.137 -
 270.138 -
 270.139 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
 270.140 -            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
 270.141 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 270.142 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 270.143 -            "\u0040\u004F\u00FC\u00EC\u00AD\u006C\u0050\u007D" +
 270.144 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 270.145 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 270.146 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 270.147 -            "\u00AE\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 270.148 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 270.149 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 270.150 -            "\u00E7\u00E8\u00E9\u0068\u00DC\u00AC\u005F\u006D" +
 270.151 -            "\u008D\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 270.152 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 270.153 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 270.154 -            "\u00A7\u00A8\u00A9\u0048\u00BB\u008C\u00CC\u0007" +
 270.155 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 270.156 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 270.157 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 270.158 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 270.159 -            "\u0041\u00AA\u00B0\u00B1\u009F\u00B2\u008E\u00B5" +
 270.160 -            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
 270.161 -            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
 270.162 -            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
 270.163 -            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u004A" +
 270.164 -            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
 270.165 -            "\u0000\u0069\u00ED\u00EE\u00EB\u00EF\u007B\u00BF" +
 270.166 -            "\u0080\u00FD\u00FE\u00FB\u007F\u0000\u0000\u0059" +
 270.167 -            "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u00C0" +
 270.168 -            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
 270.169 -            "\u0000\u0049\u00CD\u00CE\u00CB\u00CF\u00A1\u00E1" +
 270.170 -            "\u0070\u00DD\u00DE\u00DB\u00E0\u0000\u0000\u00DF" +
 270.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u005A\u00D0" +
 270.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.177 -            "\u005B\u0079\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u007C\u006A" +
 270.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 270.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 270.215 -
 270.216 -    private final static short index1[] = {
 270.217 -            0, 256, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 270.218 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 270.219 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 270.220 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 270.221 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 270.222 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 270.223 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 270.224 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 270.225 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 270.226 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 270.227 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 270.228 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 270.229 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 270.230 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 270.231 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 270.232 -            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
 270.233 -
 270.234 -        };
 270.235 -    }
 270.236 -}
   271.1 --- a/src/share/classes/sun/nio/cs/ext/IBM1046.java	Wed Jan 14 21:35:03 2009 -0800
   271.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   271.3 @@ -1,335 +0,0 @@
   271.4 -
   271.5 -/*
   271.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   271.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   271.8 - *
   271.9 - * This code is free software; you can redistribute it and/or modify it
  271.10 - * under the terms of the GNU General Public License version 2 only, as
  271.11 - * published by the Free Software Foundation.  Sun designates this
  271.12 - * particular file as subject to the "Classpath" exception as provided
  271.13 - * by Sun in the LICENSE file that accompanied this code.
  271.14 - *
  271.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  271.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  271.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  271.18 - * version 2 for more details (a copy is included in the LICENSE file that
  271.19 - * accompanied this code).
  271.20 - *
  271.21 - * You should have received a copy of the GNU General Public License version
  271.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  271.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  271.24 - *
  271.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  271.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  271.27 - * have any questions.
  271.28 - */
  271.29 -
  271.30 -package sun.nio.cs.ext;
  271.31 -
  271.32 -
  271.33 -import java.nio.charset.Charset;
  271.34 -import java.nio.charset.CharsetDecoder;
  271.35 -import java.nio.charset.CharsetEncoder;
  271.36 -import sun.nio.cs.StandardCharsets;
  271.37 -import sun.nio.cs.SingleByteDecoder;
  271.38 -import sun.nio.cs.SingleByteEncoder;
  271.39 -import sun.nio.cs.HistoricallyNamedCharset;
  271.40 -
  271.41 -public class IBM1046
  271.42 -    extends Charset
  271.43 -    implements HistoricallyNamedCharset
  271.44 -{
  271.45 -
  271.46 -    public IBM1046() {
  271.47 -        super("x-IBM1046", ExtendedCharsets.aliasesFor("x-IBM1046"));
  271.48 -    }
  271.49 -
  271.50 -    public String historicalName() {
  271.51 -        return "Cp1046";
  271.52 -    }
  271.53 -
  271.54 -    public boolean contains(Charset cs) {
  271.55 -        return (cs instanceof IBM1046);
  271.56 -    }
  271.57 -
  271.58 -    public CharsetDecoder newDecoder() {
  271.59 -        return new Decoder(this);
  271.60 -    }
  271.61 -
  271.62 -    public CharsetEncoder newEncoder() {
  271.63 -        return new Encoder(this);
  271.64 -    }
  271.65 -
  271.66 -
  271.67 -    /**
  271.68 -     * These accessors are temporarily supplied while sun.io
  271.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  271.70 -     * These facilitate sharing of conversion tables between the
  271.71 -     * two co-existing implementations. When sun.io converters
  271.72 -     * are made extinct these will be unncessary and should be removed
  271.73 -     */
  271.74 -
  271.75 -    public String getDecoderSingleByteMappings() {
  271.76 -        return Decoder.byteToCharTable;
  271.77 -
  271.78 -    }
  271.79 -
  271.80 -    public short[] getEncoderIndex1() {
  271.81 -        return Encoder.index1;
  271.82 -
  271.83 -    }
  271.84 -    public String getEncoderIndex2() {
  271.85 -        return Encoder.index2;
  271.86 -
  271.87 -    }
  271.88 -
  271.89 -    private static class Decoder extends SingleByteDecoder {
  271.90 -            public Decoder(Charset cs) {
  271.91 -                super(cs, byteToCharTable);
  271.92 -        }
  271.93 -
  271.94 -        private final static String byteToCharTable =
  271.95 -
  271.96 -            "\uFE88\u00D7\u00F7\uF8F6\uF8F5\uF8F4\uF8F7\uFE71" +        // 0x80 - 0x87
  271.97 -            "\u0088\u25A0\u2502\u2500\u2510\u250C\u2514\u2518" +        // 0x88 - 0x8F
  271.98 -            "\uFE79\uFE7B\uFE7D\uFE7F\uFE77\uFE8A\uFEF0\uFEF3" +        // 0x90 - 0x97
  271.99 -            "\uFEF2\uFECE\uFECF\uFED0\uFEF6\uFEF8\uFEFA\uFEFC" +        // 0x98 - 0x9F
 271.100 -            "\u00A0\uF8FA\uF8F9\uF8F8\u00A4\uF8FB\uFE8B\uFE91" +        // 0xA0 - 0xA7
 271.101 -            "\uFE97\uFE9B\uFE9F\uFEA3\u060C\u00AD\uFEA7\uFEB3" +        // 0xA8 - 0xAF
 271.102 -            "\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667" +        // 0xB0 - 0xB7
 271.103 -            "\u0668\u0669\uFEB7\u061B\uFEBB\uFEBF\uFECA\u061F" +        // 0xB8 - 0xBF
 271.104 -            "\uFECB\uFE80\uFE81\uFE83\uFE85\uFE87\uFE89\uFE8D" +        // 0xC0 - 0xC7
 271.105 -            "\uFE8F\uFE93\uFE95\uFE99\uFE9D\uFEA1\uFEA5\uFEA9" +        // 0xC8 - 0xCF
 271.106 -            "\uFEAB\uFEAD\uFEAF\uFEB1\uFEB5\uFEB9\uFEBD\uFEC3" +        // 0xD0 - 0xD7
 271.107 -            "\uFEC7\uFEC9\uFECD\uFECC\uFE82\uFE84\uFE8E\uFED3" +        // 0xD8 - 0xDF
 271.108 -            "\u0640\uFED1\uFED5\uFED9\uFEDD\uFEE1\uFEE5\uFEEB" +        // 0xE0 - 0xE7
 271.109 -            "\uFEED\uFEEF\uFEF1\uFE70\uFE72\uFE74\uFE76\uFE78" +        // 0xE8 - 0xEF
 271.110 -            "\uFE7A\uFE7C\uFE7E\uFED7\uFEDB\uFEDF\uF8FC\uFEF5" +        // 0xF0 - 0xF7
 271.111 -            "\uFEF7\uFEF9\uFEFB\uFEE3\uFEE7\uFEEC\uFEE9\uFFFD" +        // 0xF8 - 0xFF
 271.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 271.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 271.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 271.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 271.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 271.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 271.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 271.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 271.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 271.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 271.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 271.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 271.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 271.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 271.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 271.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 271.128 -
 271.129 -    }
 271.130 -
 271.131 -    private static class Encoder extends SingleByteEncoder {
 271.132 -            public Encoder(Charset cs) {
 271.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 271.134 -            }
 271.135 -
 271.136 -            private final static String index2 =
 271.137 -
 271.138 -
 271.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 271.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 271.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 271.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 271.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 271.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 271.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 271.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 271.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 271.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 271.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 271.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 271.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 271.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 271.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 271.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 271.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.156 -            "\u0088\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.159 -            "\u00A0\u0000\u0000\u0000\u00A4\u0000\u0000\u0000" +
 271.160 -            "\u0000\u0000\u0000\u0000\u0000\u00AD\u0000\u0000" +
 271.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.162 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0081" +
 271.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0082" +
 271.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.202 -            "\u00AC\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BB" +
 271.204 -            "\u0000\u0000\u0000\u00BF\u0000\u0000\u0000\u0000" +
 271.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.208 -            "\u0000\u0000\u0000\u0000\u00E0\u0000\u0000\u0000" +
 271.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.212 -            "\u0000\u0000\u0000\u0000\u00B0\u00B1\u00B2\u00B3" +
 271.213 -            "\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u0000\u0000" +
 271.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.232 -            "\u0000\u0000\u0000\u0000\u008B\u0000\u008A\u0000" +
 271.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.234 -            "\u008D\u0000\u0000\u0000\u008C\u0000\u0000\u0000" +
 271.235 -            "\u008E\u0000\u0000\u0000\u008F\u0000\u0000\u0000" +
 271.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.252 -            "\u0000\u0000\u0000\u0000\u0089\u0000\u0000\u0000" +
 271.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.283 -            "\u0000\u0085\u0084\u0083\u0086\u00A3\u00A2\u00A1" +
 271.284 -            "\u00A5\u00F6\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.286 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 271.298 -            "\u0000\u0000\u00EB\u0087\u00EC\u0000\u00ED\u0000" +
 271.299 -            "\u00EE\u0094\u00EF\u0090\u00F0\u0091\u00F1\u0092" +
 271.300 -            "\u00F2\u0093\u00C1\u00C2\u00DC\u00C3\u00DD\u00C4" +
 271.301 -            "\u0000\u00C5\u0080\u00C6\u0095\u00A6\u0000\u00C7" +
 271.302 -            "\u00DE\u00C8\u0000\u00A7\u0000\u00C9\u0000\u00CA" +
 271.303 -            "\u0000\u00A8\u0000\u00CB\u0000\u00A9\u0000\u00CC" +
 271.304 -            "\u0000\u00AA\u0000\u00CD\u0000\u00AB\u0000\u00CE" +
 271.305 -            "\u0000\u00AE\u0000\u00CF\u0000\u00D0\u0000\u00D1" +
 271.306 -            "\u0000\u00D2\u0000\u00D3\u0000\u00AF\u0000\u00D4" +
 271.307 -            "\u0000\u00BA\u0000\u00D5\u0000\u00BC\u0000\u00D6" +
 271.308 -            "\u0000\u00BD\u0000\u0000\u0000\u00D7\u0000\u0000" +
 271.309 -            "\u0000\u00D8\u0000\u00D9\u00BE\u00C0\u00DB\u00DA" +
 271.310 -            "\u0099\u009A\u009B\u00E1\u0000\u00DF\u0000\u00E2" +
 271.311 -            "\u0000\u00F3\u0000\u00E3\u0000\u00F4\u0000\u00E4" +
 271.312 -            "\u0000\u00F5\u0000\u00E5\u0000\u00FB\u0000\u00E6" +
 271.313 -            "\u0000\u00FC\u0000\u00FE\u0000\u00E7\u00FD\u00E8" +
 271.314 -            "\u0000\u00E9\u0096\u00EA\u0098\u0097\u0000\u00F7" +
 271.315 -            "\u009C\u00F8\u009D\u00F9\u009E\u00FA\u009F\u0000" +
 271.316 -            "\u0000\u0000";
 271.317 -
 271.318 -    private final static short index1[] = {
 271.319 -            0, 248, 248, 248, 248, 248, 492, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 271.320 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 271.321 -            248, 248, 248, 248, 248, 748, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 271.322 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 271.323 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 271.324 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 271.325 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 271.326 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 271.327 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 271.328 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 271.329 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 271.330 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 271.331 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 271.332 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 271.333 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 271.334 -            248, 248, 248, 248, 248, 248, 248, 248, 909, 248, 248, 248, 248, 248, 1162, 248,
 271.335 -
 271.336 -        };
 271.337 -    }
 271.338 -}
   272.1 --- a/src/share/classes/sun/nio/cs/ext/IBM1047.java	Wed Jan 14 21:35:03 2009 -0800
   272.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   272.3 @@ -1,221 +0,0 @@
   272.4 -
   272.5 -/*
   272.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   272.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   272.8 - *
   272.9 - * This code is free software; you can redistribute it and/or modify it
  272.10 - * under the terms of the GNU General Public License version 2 only, as
  272.11 - * published by the Free Software Foundation.  Sun designates this
  272.12 - * particular file as subject to the "Classpath" exception as provided
  272.13 - * by Sun in the LICENSE file that accompanied this code.
  272.14 - *
  272.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  272.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  272.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  272.18 - * version 2 for more details (a copy is included in the LICENSE file that
  272.19 - * accompanied this code).
  272.20 - *
  272.21 - * You should have received a copy of the GNU General Public License version
  272.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  272.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  272.24 - *
  272.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  272.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  272.27 - * have any questions.
  272.28 - */
  272.29 -
  272.30 -package sun.nio.cs.ext;
  272.31 -
  272.32 -
  272.33 -import java.nio.charset.Charset;
  272.34 -import java.nio.charset.CharsetDecoder;
  272.35 -import java.nio.charset.CharsetEncoder;
  272.36 -import sun.nio.cs.StandardCharsets;
  272.37 -import sun.nio.cs.SingleByteDecoder;
  272.38 -import sun.nio.cs.SingleByteEncoder;
  272.39 -import sun.nio.cs.HistoricallyNamedCharset;
  272.40 -
  272.41 -public class IBM1047
  272.42 -    extends Charset
  272.43 -    implements HistoricallyNamedCharset
  272.44 -{
  272.45 -
  272.46 -    public IBM1047() {
  272.47 -        super("IBM1047", ExtendedCharsets.aliasesFor("IBM1047"));
  272.48 -    }
  272.49 -
  272.50 -    public String historicalName() {
  272.51 -        return "Cp1047";
  272.52 -    }
  272.53 -
  272.54 -    public boolean contains(Charset cs) {
  272.55 -        return (cs instanceof IBM1047);
  272.56 -    }
  272.57 -
  272.58 -    public CharsetDecoder newDecoder() {
  272.59 -        return new Decoder(this);
  272.60 -    }
  272.61 -
  272.62 -    public CharsetEncoder newEncoder() {
  272.63 -        return new Encoder(this);
  272.64 -    }
  272.65 -
  272.66 -
  272.67 -    /**
  272.68 -     * These accessors are temporarily supplied while sun.io
  272.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  272.70 -     * These facilitate sharing of conversion tables between the
  272.71 -     * two co-existing implementations. When sun.io converters
  272.72 -     * are made extinct these will be unncessary and should be removed
  272.73 -     */
  272.74 -
  272.75 -    public String getDecoderSingleByteMappings() {
  272.76 -        return Decoder.byteToCharTable;
  272.77 -
  272.78 -    }
  272.79 -
  272.80 -    public short[] getEncoderIndex1() {
  272.81 -        return Encoder.index1;
  272.82 -
  272.83 -    }
  272.84 -    public String getEncoderIndex2() {
  272.85 -        return Encoder.index2;
  272.86 -
  272.87 -    }
  272.88 -
  272.89 -    private static class Decoder extends SingleByteDecoder {
  272.90 -            public Decoder(Charset cs) {
  272.91 -                super(cs, byteToCharTable);
  272.92 -        }
  272.93 -
  272.94 -        private final static String byteToCharTable =
  272.95 -
  272.96 -            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x80 - 0x87
  272.97 -            "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" +     // 0x88 - 0x8F
  272.98 -            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +     // 0x90 - 0x97
  272.99 -            "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" +     // 0x98 - 0x9F
 272.100 -            "\u00B5\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +     // 0xA0 - 0xA7
 272.101 -            "\u0079\u007A\u00A1\u00BF\u00D0\u005B\u00DE\u00AE" +     // 0xA8 - 0xAF
 272.102 -            "\u00AC\u00A3\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" +     // 0xB0 - 0xB7
 272.103 -            "\u00BD\u00BE\u00DD\u00A8\u00AF\u005D\u00B4\u00D7" +     // 0xB8 - 0xBF
 272.104 -            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0xC0 - 0xC7
 272.105 -            "\u0048\u0049\u00AD\u00F4\u00F6\u00F2\u00F3\u00F5" +     // 0xC8 - 0xCF
 272.106 -            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +     // 0xD0 - 0xD7
 272.107 -            "\u0051\u0052\u00B9\u00FB\u00FC\u00F9\u00FA\u00FF" +     // 0xD8 - 0xDF
 272.108 -            "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +     // 0xE0 - 0xE7
 272.109 -            "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" +     // 0xE8 - 0xEF
 272.110 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0xF0 - 0xF7
 272.111 -            "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" +     // 0xF8 - 0xFF
 272.112 -            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +     // 0x00 - 0x07
 272.113 -            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 272.114 -            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +     // 0x10 - 0x17
 272.115 -            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 272.116 -            "\u0080\u0081\u0082\u0083\u0084\u0085\u0017\u001B" +     // 0x20 - 0x27
 272.117 -            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +     // 0x28 - 0x2F
 272.118 -            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +     // 0x30 - 0x37
 272.119 -            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +     // 0x38 - 0x3F
 272.120 -            "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u00E5" +     // 0x40 - 0x47
 272.121 -            "\u00E7\u00F1\u00A2\u002E\u003C\u0028\u002B\u007C" +     // 0x48 - 0x4F
 272.122 -            "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" +     // 0x50 - 0x57
 272.123 -            "\u00EC\u00DF\u0021\u0024\u002A\u0029\u003B\u005E" +     // 0x58 - 0x5F
 272.124 -            "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" +     // 0x60 - 0x67
 272.125 -            "\u00C7\u00D1\u00A6\u002C\u0025\u005F\u003E\u003F" +     // 0x68 - 0x6F
 272.126 -            "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +     // 0x70 - 0x77
 272.127 -            "\u00CC\u0060\u003A\u0023\u0040\'\u003D\"";     // 0x78 - 0x7F
 272.128 -
 272.129 -    }
 272.130 -
 272.131 -    private static class Encoder extends SingleByteEncoder {
 272.132 -            public Encoder(Charset cs) {
 272.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 272.134 -            }
 272.135 -
 272.136 -            private final static String index2 =
 272.137 -
 272.138 -
 272.139 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
 272.140 -            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
 272.141 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 272.142 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 272.143 -            "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" +
 272.144 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 272.145 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 272.146 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 272.147 -            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 272.148 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 272.149 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 272.150 -            "\u00E7\u00E8\u00E9\u00AD\u00E0\u00BD\u005F\u006D" +
 272.151 -            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 272.152 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 272.153 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 272.154 -            "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00A1\u0007" +
 272.155 -            "\u0020\u0021\"\u0023\u0024\u0025\u0006\u0017" +
 272.156 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 272.157 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 272.158 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 272.159 -            "\u0041\u00AA\u004A\u00B1\u009F\u00B2\u006A\u00B5" +
 272.160 -            "\u00BB\u00B4\u009A\u008A\u00B0\u00CA\u00AF\u00BC" +
 272.161 -            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
 272.162 -            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
 272.163 -            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
 272.164 -            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
 272.165 -            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
 272.166 -            "\u0080\u00FD\u00FE\u00FB\u00FC\u00BA\u00AE\u0059" +
 272.167 -            "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" +
 272.168 -            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
 272.169 -            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
 272.170 -            "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
 272.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 272.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 272.203 -
 272.204 -    private final static short index1[] = {
 272.205 -            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 272.206 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 272.207 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 272.208 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 272.209 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 272.210 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 272.211 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 272.212 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 272.213 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 272.214 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 272.215 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 272.216 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 272.217 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 272.218 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 272.219 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 272.220 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 272.221 -
 272.222 -        };
 272.223 -    }
 272.224 -}
   273.1 --- a/src/share/classes/sun/nio/cs/ext/IBM1097.java	Wed Jan 14 21:35:03 2009 -0800
   273.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   273.3 @@ -1,342 +0,0 @@
   273.4 -
   273.5 -/*
   273.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   273.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   273.8 - *
   273.9 - * This code is free software; you can redistribute it and/or modify it
  273.10 - * under the terms of the GNU General Public License version 2 only, as
  273.11 - * published by the Free Software Foundation.  Sun designates this
  273.12 - * particular file as subject to the "Classpath" exception as provided
  273.13 - * by Sun in the LICENSE file that accompanied this code.
  273.14 - *
  273.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  273.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  273.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  273.18 - * version 2 for more details (a copy is included in the LICENSE file that
  273.19 - * accompanied this code).
  273.20 - *
  273.21 - * You should have received a copy of the GNU General Public License version
  273.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  273.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  273.24 - *
  273.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  273.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  273.27 - * have any questions.
  273.28 - */
  273.29 -
  273.30 -package sun.nio.cs.ext;
  273.31 -
  273.32 -
  273.33 -import java.nio.charset.Charset;
  273.34 -import java.nio.charset.CharsetDecoder;
  273.35 -import java.nio.charset.CharsetEncoder;
  273.36 -import sun.nio.cs.StandardCharsets;
  273.37 -import sun.nio.cs.SingleByteDecoder;
  273.38 -import sun.nio.cs.SingleByteEncoder;
  273.39 -import sun.nio.cs.HistoricallyNamedCharset;
  273.40 -
  273.41 -public class IBM1097
  273.42 -    extends Charset
  273.43 -    implements HistoricallyNamedCharset
  273.44 -{
  273.45 -
  273.46 -    public IBM1097() {
  273.47 -        super("x-IBM1097", ExtendedCharsets.aliasesFor("x-IBM1097"));
  273.48 -    }
  273.49 -
  273.50 -    public String historicalName() {
  273.51 -        return "Cp1097";
  273.52 -    }
  273.53 -
  273.54 -    public boolean contains(Charset cs) {
  273.55 -        return (cs instanceof IBM1097);
  273.56 -    }
  273.57 -
  273.58 -    public CharsetDecoder newDecoder() {
  273.59 -        return new Decoder(this);
  273.60 -    }
  273.61 -
  273.62 -    public CharsetEncoder newEncoder() {
  273.63 -        return new Encoder(this);
  273.64 -    }
  273.65 -
  273.66 -
  273.67 -    /**
  273.68 -     * These accessors are temporarily supplied while sun.io
  273.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  273.70 -     * These facilitate sharing of conversion tables between the
  273.71 -     * two co-existing implementations. When sun.io converters
  273.72 -     * are made extinct these will be unncessary and should be removed
  273.73 -     */
  273.74 -
  273.75 -    public String getDecoderSingleByteMappings() {
  273.76 -        return Decoder.byteToCharTable;
  273.77 -
  273.78 -    }
  273.79 -
  273.80 -    public short[] getEncoderIndex1() {
  273.81 -        return Encoder.index1;
  273.82 -
  273.83 -    }
  273.84 -    public String getEncoderIndex2() {
  273.85 -        return Encoder.index2;
  273.86 -
  273.87 -    }
  273.88 -
  273.89 -    private static class Decoder extends SingleByteDecoder {
  273.90 -            public Decoder(Charset cs) {
  273.91 -                super(cs, byteToCharTable);
  273.92 -        }
  273.93 -
  273.94 -        private final static String byteToCharTable =
  273.95 -
  273.96 -            "\uFB8A\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
  273.97 -            "\u0068\u0069\u00AB\u00BB\uFEB1\uFEB3\uFEB5\uFEB7" +        // 0x88 - 0x8F
  273.98 -            "\uFEB9\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
  273.99 -            "\u0071\u0072\uFEBB\uFEBD\uFEBF\uFEC1\uFEC3\uFEC5" +        // 0x98 - 0x9F
 273.100 -            "\uFEC7\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
 273.101 -            "\u0079\u007A\uFEC9\uFECA\uFECB\uFECC\uFECD\uFECE" +        // 0xA8 - 0xAF
 273.102 -            "\uFECF\uFED0\uFED1\uFED3\uFED5\uFED7\uFB8E\uFEDB" +        // 0xB0 - 0xB7
 273.103 -            "\uFB92\uFB94\u005B\u005D\uFEDD\uFEDF\uFEE1\u00D7" +        // 0xB8 - 0xBF
 273.104 -            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
 273.105 -            "\u0048\u0049\u00AD\uFEE3\uFEE5\uFEE7\uFEED\uFEE9" +        // 0xC8 - 0xCF
 273.106 -            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
 273.107 -            "\u0051\u0052\uFEEB\uFEEC\uFBA4\uFBFC\uFBFD\uFBFE" +        // 0xD8 - 0xDF
 273.108 -            "\\\u061F\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
 273.109 -            "\u0059\u005A\u0640\u06F0\u06F1\u06F2\u06F3\u06F4" +        // 0xE8 - 0xEF
 273.110 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
 273.111 -            "\u0038\u0039\u06F5\u06F6\u06F7\u06F8\u06F9\u009F" +        // 0xF8 - 0xFF
 273.112 -            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
 273.113 -            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
 273.114 -            "\u0010\u0011\u0012\u0013\u009D\u0085\b\u0087" +    // 0x10 - 0x17
 273.115 -            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 273.116 -            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
 273.117 -            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
 273.118 -            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
 273.119 -            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
 273.120 -            "\u0020\u00A0\u060C\u064B\uFE81\uFE82\uF8FA\uFE8D" +        // 0x40 - 0x47
 273.121 -            "\uFE8E\uF8FB\u00A4\u002E\u003C\u0028\u002B\u007C" +        // 0x48 - 0x4F
 273.122 -            "\u0026\uFE80\uFE83\uFE84\uF8F9\uFE85\uFE8B\uFE8F" +        // 0x50 - 0x57
 273.123 -            "\uFE91\uFB56\u0021\u0024\u002A\u0029\u003B\u00AC" +        // 0x58 - 0x5F
 273.124 -            "\u002D\u002F\uFB58\uFE95\uFE97\uFE99\uFE9B\uFE9D" +        // 0x60 - 0x67
 273.125 -            "\uFE9F\uFB7A\u061B\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
 273.126 -            "\uFB7C\uFEA1\uFEA3\uFEA5\uFEA7\uFEA9\uFEAB\uFEAD" +        // 0x70 - 0x77
 273.127 -            "\uFEAF\u0060\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
 273.128 -
 273.129 -    }
 273.130 -
 273.131 -    private static class Encoder extends SingleByteEncoder {
 273.132 -            public Encoder(Charset cs) {
 273.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 273.134 -            }
 273.135 -
 273.136 -            private final static String index2 =
 273.137 -
 273.138 -
 273.139 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
 273.140 -            "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" +
 273.141 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 273.142 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 273.143 -            "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" +
 273.144 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 273.145 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 273.146 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 273.147 -            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 273.148 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 273.149 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 273.150 -            "\u00E7\u00E8\u00E9\u00BA\u00E0\u00BB\u0000\u006D" +
 273.151 -            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 273.152 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 273.153 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 273.154 -            "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00A1\u0007" +
 273.155 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 273.156 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 273.157 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 273.158 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 273.159 -            "\u0041\u0000\u0000\u0000\u004A\u0000\u0000\u0000" +
 273.160 -            "\u0000\u0000\u0000\u008A\u005F\u00CA\u0000\u0000" +
 273.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.162 -            "\u0000\u0000\u0000\u008B\u0000\u0000\u0000\u0000" +
 273.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BF" +
 273.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.198 -            "\u0042\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u006A" +
 273.200 -            "\u0000\u0000\u0000\u00E1\u0000\u0000\u0000\u0000" +
 273.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.204 -            "\u0000\u0000\u0000\u0000\u00EA\u0000\u0000\u0000" +
 273.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0043" +
 273.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.226 -            "\u0000\u0000\u0000\u0000\u00EB\u00EC\u00ED\u00EE" +
 273.227 -            "\u00EF\u00FA\u00FB\u00FC\u00FD\u00FE\u0000\u0000" +
 273.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0054" +
 273.259 -            "\u0046\u0049\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.270 -            "\u0059\u0000\u0062\u0000\u0000\u0000\u0000\u0000" +
 273.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.274 -            "\u0000\u0000\u0000\u0000\u0069\u0000\u0070\u0000" +
 273.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.276 -            "\u0000\u0000\u0000\u0000\u0080\u0000\u0000\u0000" +
 273.277 -            "\u00B6\u0000\u0000\u0000\u00B8\u0000\u00B9\u0000" +
 273.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00DC\u0000" +
 273.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.286 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00DD\u00DE" +
 273.291 -            "\u00DF\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.307 -            "\u0000\u0051\u0044\u0045\u0052\u0053\u0055\u0000" +
 273.308 -            "\u0000\u0000\u0000\u0000\u0056\u0000\u0047\u0048" +
 273.309 -            "\u0057\u0000\u0058\u0000\u0000\u0000\u0063\u0000" +
 273.310 -            "\u0064\u0000\u0065\u0000\u0066\u0000\u0067\u0000" +
 273.311 -            "\u0068\u0000\u0071\u0000\u0072\u0000\u0073\u0000" +
 273.312 -            "\u0074\u0000\u0075\u0000\u0076\u0000\u0077\u0000" +
 273.313 -            "\u0078\u0000\u008C\u0000\u008D\u0000\u008E\u0000" +
 273.314 -            "\u008F\u0000\u0090\u0000\u009A\u0000\u009B\u0000" +
 273.315 -            "\u009C\u0000\u009D\u0000\u009E\u0000\u009F\u0000" +
 273.316 -            "\u00A0\u0000\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +
 273.317 -            "\u00B0\u00B1\u00B2\u0000\u00B3\u0000\u00B4\u0000" +
 273.318 -            "\u00B5\u0000\u0000\u0000\u00B7\u0000\u00BC\u0000" +
 273.319 -            "\u00BD\u0000\u00BE\u0000\u00CB\u0000\u00CC\u0000" +
 273.320 -            "\u00CD\u0000\u00CF\u0000\u00DA\u00DB\u00CE\u0000" +
 273.321 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.322 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 273.323 -            "\u0000";
 273.324 -
 273.325 -    private final static short index1[] = {
 273.326 -            0, 216, 216, 216, 216, 216, 460, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 273.327 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 273.328 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 273.329 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 273.330 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 273.331 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 273.332 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 273.333 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 273.334 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 273.335 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 273.336 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 273.337 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 273.338 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 273.339 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 273.340 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 273.341 -            216, 216, 216, 216, 216, 216, 216, 216, 710, 216, 216, 962, 216, 216, 1217, 216,
 273.342 -
 273.343 -        };
 273.344 -    }
 273.345 -}
   274.1 --- a/src/share/classes/sun/nio/cs/ext/IBM1098.java	Wed Jan 14 21:35:03 2009 -0800
   274.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   274.3 @@ -1,362 +0,0 @@
   274.4 -
   274.5 -/*
   274.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   274.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   274.8 - *
   274.9 - * This code is free software; you can redistribute it and/or modify it
  274.10 - * under the terms of the GNU General Public License version 2 only, as
  274.11 - * published by the Free Software Foundation.  Sun designates this
  274.12 - * particular file as subject to the "Classpath" exception as provided
  274.13 - * by Sun in the LICENSE file that accompanied this code.
  274.14 - *
  274.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  274.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  274.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  274.18 - * version 2 for more details (a copy is included in the LICENSE file that
  274.19 - * accompanied this code).
  274.20 - *
  274.21 - * You should have received a copy of the GNU General Public License version
  274.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  274.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  274.24 - *
  274.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  274.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  274.27 - * have any questions.
  274.28 - */
  274.29 -
  274.30 -package sun.nio.cs.ext;
  274.31 -
  274.32 -
  274.33 -import java.nio.charset.Charset;
  274.34 -import java.nio.charset.CharsetDecoder;
  274.35 -import java.nio.charset.CharsetEncoder;
  274.36 -import sun.nio.cs.StandardCharsets;
  274.37 -import sun.nio.cs.SingleByteDecoder;
  274.38 -import sun.nio.cs.SingleByteEncoder;
  274.39 -import sun.nio.cs.HistoricallyNamedCharset;
  274.40 -
  274.41 -public class IBM1098
  274.42 -    extends Charset
  274.43 -    implements HistoricallyNamedCharset
  274.44 -{
  274.45 -
  274.46 -    public IBM1098() {
  274.47 -        super("x-IBM1098", ExtendedCharsets.aliasesFor("x-IBM1098"));
  274.48 -    }
  274.49 -
  274.50 -    public String historicalName() {
  274.51 -        return "Cp1098";
  274.52 -    }
  274.53 -
  274.54 -    public boolean contains(Charset cs) {
  274.55 -        return (cs instanceof IBM1098);
  274.56 -    }
  274.57 -
  274.58 -    public CharsetDecoder newDecoder() {
  274.59 -        return new Decoder(this);
  274.60 -    }
  274.61 -
  274.62 -    public CharsetEncoder newEncoder() {
  274.63 -        return new Encoder(this);
  274.64 -    }
  274.65 -
  274.66 -
  274.67 -    /**
  274.68 -     * These accessors are temporarily supplied while sun.io
  274.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  274.70 -     * These facilitate sharing of conversion tables between the
  274.71 -     * two co-existing implementations. When sun.io converters
  274.72 -     * are made extinct these will be unncessary and should be removed
  274.73 -     */
  274.74 -
  274.75 -    public String getDecoderSingleByteMappings() {
  274.76 -        return Decoder.byteToCharTable;
  274.77 -
  274.78 -    }
  274.79 -
  274.80 -    public short[] getEncoderIndex1() {
  274.81 -        return Encoder.index1;
  274.82 -
  274.83 -    }
  274.84 -    public String getEncoderIndex2() {
  274.85 -        return Encoder.index2;
  274.86 -
  274.87 -    }
  274.88 -
  274.89 -    private static class Decoder extends SingleByteDecoder {
  274.90 -            public Decoder(Charset cs) {
  274.91 -                super(cs, byteToCharTable);
  274.92 -        }
  274.93 -
  274.94 -        private final static String byteToCharTable =
  274.95 -
  274.96 -            "\uFFFD\uFFFD\u060C\u061B\u061F\u064B\uFE81\uFE82" +        // 0x80 - 0x87
  274.97 -            "\uF8FA\uFE8D\uFE8E\uF8FB\uFE80\uFE83\uFE84\uF8F9" +        // 0x88 - 0x8F
  274.98 -            "\uFE85\uFE8B\uFE8F\uFE91\uFB56\uFB58\uFE95\uFE97" +        // 0x90 - 0x97
  274.99 -            "\uFE99\uFE9B\uFE9D\uFE9F\uFB7A\uFB7C\u00D7\uFEA1" +        // 0x98 - 0x9F
 274.100 -            "\uFEA3\uFEA5\uFEA7\uFEA9\uFEAB\uFEAD\uFEAF\uFB8A" +        // 0xA0 - 0xA7
 274.101 -            "\uFEB1\uFEB3\uFEB5\uFEB7\uFEB9\uFEBB\u00AB\u00BB" +        // 0xA8 - 0xAF
 274.102 -            "\u2591\u2592\u2593\u2502\u2524\uFEBD\uFEBF\uFEC1" +        // 0xB0 - 0xB7
 274.103 -            "\uFEC3\u2563\u2551\u2557\u255D\u00A4\uFEC5\u2510" +        // 0xB8 - 0xBF
 274.104 -            "\u2514\u2534\u252C\u251C\u2500\u253C\uFEC7\uFEC9" +        // 0xC0 - 0xC7
 274.105 -            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\uFFFD" +        // 0xC8 - 0xCF
 274.106 -            "\uFECA\uFECB\uFECC\uFECD\uFECE\uFECF\uFED0\uFED1" +        // 0xD0 - 0xD7
 274.107 -            "\uFED3\u2518\u250C\u2588\u2584\uFED5\uFED7\u2580" +        // 0xD8 - 0xDF
 274.108 -            "\uFB8E\uFEDB\uFB92\uFB94\uFEDD\uFEDF\uFEE1\uFEE3" +        // 0xE0 - 0xE7
 274.109 -            "\uFEE5\uFEE7\uFEED\uFEE9\uFEEB\uFEEC\uFBA4\uFBFC" +        // 0xE8 - 0xEF
 274.110 -            "\u00AD\uFBFD\uFBFE\u0640\u06F0\u06F1\u06F2\u06F3" +        // 0xF0 - 0xF7
 274.111 -            "\u06F4\u06F5\u06F6\u06F7\u06F8\u06F9\u25A0\u00A0" +        // 0xF8 - 0xFF
 274.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 274.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 274.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 274.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 274.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 274.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 274.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 274.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 274.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 274.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 274.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 274.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 274.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 274.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 274.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 274.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 274.128 -
 274.129 -    }
 274.130 -
 274.131 -    private static class Encoder extends SingleByteEncoder {
 274.132 -            public Encoder(Charset cs) {
 274.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 274.134 -            }
 274.135 -
 274.136 -            private final static String index2 =
 274.137 -
 274.138 -
 274.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 274.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 274.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 274.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 274.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 274.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 274.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 274.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 274.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 274.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 274.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 274.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 274.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 274.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 274.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 274.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 274.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.159 -            "\u00FF\u0000\u0000\u0000\u00BD\u0000\u0000\u0000" +
 274.160 -            "\u0000\u0000\u0000\u00AE\u0000\u00F0\u0000\u0000" +
 274.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.162 -            "\u0000\u0000\u0000\u00AF\u0000\u0000\u0000\u0000" +
 274.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u009E" +
 274.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.198 -            "\u0082\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0083" +
 274.200 -            "\u0000\u0000\u0000\u0084\u0000\u0000\u0000\u0000" +
 274.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.204 -            "\u0000\u0000\u0000\u0000\u00F3\u0000\u0000\u0000" +
 274.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0085" +
 274.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.226 -            "\u0000\u0000\u0000\u0000\u00F4\u00F5\u00F6\u00F7" +
 274.227 -            "\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u0000\u0000" +
 274.228 -            "\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3\u0000" +
 274.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.230 -            "\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000\u0000" +
 274.231 -            "\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000\u0000" +
 274.232 -            "\u00C3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.233 -            "\u00B4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.234 -            "\u00C2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.235 -            "\u00C1\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.236 -            "\u00C5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.238 -            "\u0000\u0000\u0000\u0000\u00CD\u00BA\u0000\u0000" +
 274.239 -            "\u00C9\u0000\u0000\u00BB\u0000\u0000\u00C8\u0000" +
 274.240 -            "\u0000\u00BC\u0000\u0000\u00CC\u0000\u0000\u00B9" +
 274.241 -            "\u0000\u0000\u00CB\u0000\u0000\u00CA\u0000\u0000" +
 274.242 -            "\u00CE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.244 -            "\u0000\u0000\u0000\u0000\u00DF\u0000\u0000\u0000" +
 274.245 -            "\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000\u0000" +
 274.246 -            "\u0000\u0000\u0000\u0000\u0000\u00B0\u00B1\u00B2" +
 274.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.248 -            "\u0000\u0000\u0000\u0000\u00FE\u0000\u0000\u0000" +
 274.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u008F\u0088" +
 274.280 -            "\u008B\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.286 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0094" +
 274.291 -            "\u0000\u0095\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.295 -            "\u0000\u0000\u0000\u009C\u0000\u009D\u0000\u0000" +
 274.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.297 -            "\u0000\u0000\u0000\u00A7\u0000\u0000\u0000\u00E0" +
 274.298 -            "\u0000\u0000\u0000\u00E2\u0000\u00E3\u0000\u0000" +
 274.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.300 -            "\u0000\u0000\u0000\u0000\u0000\u00EE\u0000\u0000" +
 274.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.307 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.308 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.309 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.310 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.311 -            "\u0000\u0000\u0000\u0000\u0000\u00EF\u00F1\u00F2" +
 274.312 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.313 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.314 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.315 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.316 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.317 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.318 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.319 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.320 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.321 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.322 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.323 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.324 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.325 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.326 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.327 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.328 -            "\u008C\u0086\u0087\u008D\u008E\u0090\u0000\u0000" +
 274.329 -            "\u0000\u0000\u0000\u0091\u0000\u0089\u008A\u0092" +
 274.330 -            "\u0000\u0093\u0000\u0000\u0000\u0096\u0000\u0097" +
 274.331 -            "\u0000\u0098\u0000\u0099\u0000\u009A\u0000\u009B" +
 274.332 -            "\u0000\u009F\u0000\u00A0\u0000\u00A1\u0000\u00A2" +
 274.333 -            "\u0000\u00A3\u0000\u00A4\u0000\u00A5\u0000\u00A6" +
 274.334 -            "\u0000\u00A8\u0000\u00A9\u0000\u00AA\u0000\u00AB" +
 274.335 -            "\u0000\u00AC\u0000\u00AD\u0000\u00B5\u0000\u00B6" +
 274.336 -            "\u0000\u00B7\u0000\u00B8\u0000\u00BE\u0000\u00C6" +
 274.337 -            "\u0000\u00C7\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5" +
 274.338 -            "\u00D6\u00D7\u0000\u00D8\u0000\u00DD\u0000\u00DE" +
 274.339 -            "\u0000\u0000\u0000\u00E1\u0000\u00E4\u0000\u00E5" +
 274.340 -            "\u0000\u00E6\u0000\u00E7\u0000\u00E8\u0000\u00E9" +
 274.341 -            "\u0000\u00EB\u0000\u00EC\u00ED\u00EA\u0000\u0000" +
 274.342 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 274.343 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 274.344 -
 274.345 -    private final static short index1[] = {
 274.346 -            0, 216, 216, 216, 216, 216, 460, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 274.347 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 274.348 -            216, 216, 216, 216, 216, 716, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 274.349 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 274.350 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 274.351 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 274.352 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 274.353 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 274.354 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 274.355 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 274.356 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 274.357 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 274.358 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 274.359 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 274.360 -            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
 274.361 -            216, 216, 216, 216, 216, 216, 216, 216, 877, 216, 216, 1129, 216, 216, 1384, 216,
 274.362 -
 274.363 -        };
 274.364 -    }
 274.365 -}
   275.1 --- a/src/share/classes/sun/nio/cs/ext/IBM1112.java	Wed Jan 14 21:35:03 2009 -0800
   275.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   275.3 @@ -1,266 +0,0 @@
   275.4 -
   275.5 -/*
   275.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   275.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   275.8 - *
   275.9 - * This code is free software; you can redistribute it and/or modify it
  275.10 - * under the terms of the GNU General Public License version 2 only, as
  275.11 - * published by the Free Software Foundation.  Sun designates this
  275.12 - * particular file as subject to the "Classpath" exception as provided
  275.13 - * by Sun in the LICENSE file that accompanied this code.
  275.14 - *
  275.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  275.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  275.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  275.18 - * version 2 for more details (a copy is included in the LICENSE file that
  275.19 - * accompanied this code).
  275.20 - *
  275.21 - * You should have received a copy of the GNU General Public License version
  275.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  275.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  275.24 - *
  275.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  275.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  275.27 - * have any questions.
  275.28 - */
  275.29 -
  275.30 -package sun.nio.cs.ext;
  275.31 -
  275.32 -
  275.33 -import java.nio.charset.Charset;
  275.34 -import java.nio.charset.CharsetDecoder;
  275.35 -import java.nio.charset.CharsetEncoder;
  275.36 -import sun.nio.cs.StandardCharsets;
  275.37 -import sun.nio.cs.SingleByteDecoder;
  275.38 -import sun.nio.cs.SingleByteEncoder;
  275.39 -import sun.nio.cs.HistoricallyNamedCharset;
  275.40 -
  275.41 -public class IBM1112
  275.42 -    extends Charset
  275.43 -    implements HistoricallyNamedCharset
  275.44 -{
  275.45 -
  275.46 -    public IBM1112() {
  275.47 -        super("x-IBM1112", ExtendedCharsets.aliasesFor("x-IBM1112"));
  275.48 -    }
  275.49 -
  275.50 -    public String historicalName() {
  275.51 -        return "Cp1112";
  275.52 -    }
  275.53 -
  275.54 -    public boolean contains(Charset cs) {
  275.55 -        return (cs instanceof IBM1112);
  275.56 -    }
  275.57 -
  275.58 -    public CharsetDecoder newDecoder() {
  275.59 -        return new Decoder(this);
  275.60 -    }
  275.61 -
  275.62 -    public CharsetEncoder newEncoder() {
  275.63 -        return new Encoder(this);
  275.64 -    }
  275.65 -
  275.66 -
  275.67 -    /**
  275.68 -     * These accessors are temporarily supplied while sun.io
  275.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  275.70 -     * These facilitate sharing of conversion tables between the
  275.71 -     * two co-existing implementations. When sun.io converters
  275.72 -     * are made extinct these will be unncessary and should be removed
  275.73 -     */
  275.74 -
  275.75 -    public String getDecoderSingleByteMappings() {
  275.76 -        return Decoder.byteToCharTable;
  275.77 -
  275.78 -    }
  275.79 -
  275.80 -    public short[] getEncoderIndex1() {
  275.81 -        return Encoder.index1;
  275.82 -
  275.83 -    }
  275.84 -    public String getEncoderIndex2() {
  275.85 -        return Encoder.index2;
  275.86 -
  275.87 -    }
  275.88 -
  275.89 -    private static class Decoder extends SingleByteDecoder {
  275.90 -            public Decoder(Charset cs) {
  275.91 -                super(cs, byteToCharTable);
  275.92 -        }
  275.93 -
  275.94 -        private final static String byteToCharTable =
  275.95 -
  275.96 -            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
  275.97 -            "\u0068\u0069\u00AB\u00BB\u0101\u017C\u0144\u00B1" +        // 0x88 - 0x8F
  275.98 -            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
  275.99 -            "\u0071\u0072\u0156\u0157\u00E6\u0137\u00C6\u00A4" +        // 0x98 - 0x9F
 275.100 -            "\u00B5\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
 275.101 -            "\u0079\u007A\u201D\u017A\u0100\u017B\u0143\u00AE" +        // 0xA8 - 0xAF
 275.102 -            "\u005E\u00A3\u012B\u00B7\u00A9\u00A7\u00B6\u00BC" +        // 0xB0 - 0xB7
 275.103 -            "\u00BD\u00BE\u005B\u005D\u0179\u0136\u013C\u00D7" +        // 0xB8 - 0xBF
 275.104 -            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
 275.105 -            "\u0048\u0049\u00AD\u014D\u00F6\u0146\u00F3\u00F5" +        // 0xC8 - 0xCF
 275.106 -            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
 275.107 -            "\u0051\u0052\u00B9\u0107\u00FC\u0142\u015B\u2019" +        // 0xD8 - 0xDF
 275.108 -            "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
 275.109 -            "\u0059\u005A\u00B2\u014C\u00D6\u0145\u00D3\u00D5" +        // 0xE8 - 0xEF
 275.110 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
 275.111 -            "\u0038\u0039\u00B3\u0106\u00DC\u0141\u015A\u009F" +        // 0xF8 - 0xFF
 275.112 -            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
 275.113 -            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
 275.114 -            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
 275.115 -            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 275.116 -            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
 275.117 -            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
 275.118 -            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
 275.119 -            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
 275.120 -            "\u0020\u00A0\u0161\u00E4\u0105\u012F\u016B\u00E5" +        // 0x40 - 0x47
 275.121 -            "\u0113\u017E\u00A2\u002E\u003C\u0028\u002B\u007C" +        // 0x48 - 0x4F
 275.122 -            "\u0026\u00E9\u0119\u0117\u010D\u0173\u201E\u201C" +        // 0x50 - 0x57
 275.123 -            "\u0123\u00DF\u0021\u0024\u002A\u0029\u003B\u00AC" +        // 0x58 - 0x5F
 275.124 -            "\u002D\u002F\u0160\u00C4\u0104\u012E\u016A\u00C5" +        // 0x60 - 0x67
 275.125 -            "\u0112\u017D\u00A6\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
 275.126 -            "\u00F8\u00C9\u0118\u0116\u010C\u0172\u012A\u013B" +        // 0x70 - 0x77
 275.127 -            "\u0122\u0060\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
 275.128 -
 275.129 -    }
 275.130 -
 275.131 -    private static class Encoder extends SingleByteEncoder {
 275.132 -            public Encoder(Charset cs) {
 275.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 275.134 -            }
 275.135 -
 275.136 -            private final static String index2 =
 275.137 -
 275.138 -
 275.139 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
 275.140 -            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
 275.141 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 275.142 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 275.143 -            "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" +
 275.144 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 275.145 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 275.146 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 275.147 -            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 275.148 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 275.149 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 275.150 -            "\u00E7\u00E8\u00E9\u00BA\u00E0\u00BB\u00B0\u006D" +
 275.151 -            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 275.152 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 275.153 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 275.154 -            "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00A1\u0007" +
 275.155 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 275.156 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 275.157 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 275.158 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 275.159 -            "\u0041\u0000\u004A\u00B1\u009F\u0000\u006A\u00B5" +
 275.160 -            "\u0000\u00B4\u0000\u008A\u005F\u00CA\u00AF\u0000" +
 275.161 -            "\u0090\u008F\u00EA\u00FA\u0000\u00A0\u00B6\u00B3" +
 275.162 -            "\u0000\u00DA\u0000\u008B\u00B7\u00B8\u00B9\u0000" +
 275.163 -            "\u0000\u0000\u0000\u0000\u0063\u0067\u009E\u0000" +
 275.164 -            "\u0000\u0071\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.165 -            "\u0000\u0000\u0000\u00EE\u0000\u00EF\u00EC\u00BF" +
 275.166 -            "\u0080\u0000\u0000\u0000\u00FC\u0000\u0000\u0059" +
 275.167 -            "\u0000\u0000\u0000\u0000\u0043\u0047\u009C\u0000" +
 275.168 -            "\u0000\u0051\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.169 -            "\u0000\u0000\u0000\u00CE\u0000\u00CF\u00CC\u00E1" +
 275.170 -            "\u0070\u0000\u0000\u0000\u00DC\u0000\u0000\u0000" +
 275.171 -            "\u00AC\u008C\u0000\u0000\u0064\u0044\u00FB\u00DB" +
 275.172 -            "\u0000\u0000\u0000\u0000\u0074\u0054\u0000\u0000" +
 275.173 -            "\u0000\u0000\u0068\u0048\u0000\u0000\u0073\u0053" +
 275.174 -            "\u0072\u0052\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.175 -            "\u0000\u0000\u0078\u0058\u0000\u0000\u0000\u0000" +
 275.176 -            "\u0000\u0000\u0076\u00B2\u0000\u0000\u0065\u0045" +
 275.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00BD\u009D" +
 275.178 -            "\u0000\u0000\u0000\u0077\u00BE\u0000\u0000\u0000" +
 275.179 -            "\u0000\u00FD\u00DD\u00AE\u008E\u00ED\u00CD\u0000" +
 275.180 -            "\u0000\u0000\u0000\u0000\u00EB\u00CB\u0000\u0000" +
 275.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u009A\u009B" +
 275.182 -            "\u0000\u0000\u00FE\u00DE\u0000\u0000\u0000\u0000" +
 275.183 -            "\u0062\u0042\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.184 -            "\u0000\u0000\u0066\u0046\u0000\u0000\u0000\u0000" +
 275.185 -            "\u0000\u0000\u0075\u0055\u0000\u0000\u0000\u0000" +
 275.186 -            "\u0000\u00BC\u00AB\u00AD\u008D\u0069\u0049\u0000" +
 275.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DF" +
 275.219 -            "\u0000\u0000\u0057\u00AA\u0056\u0000\u0000\u0000" +
 275.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 275.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000";
 275.248 -
 275.249 -    private final static short index1[] = {
 275.250 -            0, 256, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 275.251 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 275.252 -            614, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 275.253 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 275.254 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 275.255 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 275.256 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 275.257 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 275.258 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 275.259 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 275.260 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 275.261 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 275.262 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 275.263 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 275.264 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 275.265 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 275.266 -
 275.267 -        };
 275.268 -    }
 275.269 -}
   276.1 --- a/src/share/classes/sun/nio/cs/ext/IBM1122.java	Wed Jan 14 21:35:03 2009 -0800
   276.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   276.3 @@ -1,262 +0,0 @@
   276.4 -
   276.5 -/*
   276.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   276.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   276.8 - *
   276.9 - * This code is free software; you can redistribute it and/or modify it
  276.10 - * under the terms of the GNU General Public License version 2 only, as
  276.11 - * published by the Free Software Foundation.  Sun designates this
  276.12 - * particular file as subject to the "Classpath" exception as provided
  276.13 - * by Sun in the LICENSE file that accompanied this code.
  276.14 - *
  276.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  276.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  276.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  276.18 - * version 2 for more details (a copy is included in the LICENSE file that
  276.19 - * accompanied this code).
  276.20 - *
  276.21 - * You should have received a copy of the GNU General Public License version
  276.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  276.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  276.24 - *
  276.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  276.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  276.27 - * have any questions.
  276.28 - */
  276.29 -
  276.30 -package sun.nio.cs.ext;
  276.31 -
  276.32 -
  276.33 -import java.nio.charset.Charset;
  276.34 -import java.nio.charset.CharsetDecoder;
  276.35 -import java.nio.charset.CharsetEncoder;
  276.36 -import sun.nio.cs.StandardCharsets;
  276.37 -import sun.nio.cs.SingleByteDecoder;
  276.38 -import sun.nio.cs.SingleByteEncoder;
  276.39 -import sun.nio.cs.HistoricallyNamedCharset;
  276.40 -
  276.41 -public class IBM1122
  276.42 -    extends Charset
  276.43 -    implements HistoricallyNamedCharset
  276.44 -{
  276.45 -
  276.46 -    public IBM1122() {
  276.47 -        super("x-IBM1122", ExtendedCharsets.aliasesFor("x-IBM1122"));
  276.48 -    }
  276.49 -
  276.50 -    public String historicalName() {
  276.51 -        return "Cp1122";
  276.52 -    }
  276.53 -
  276.54 -    public boolean contains(Charset cs) {
  276.55 -        return (cs instanceof IBM1122);
  276.56 -    }
  276.57 -
  276.58 -    public CharsetDecoder newDecoder() {
  276.59 -        return new Decoder(this);
  276.60 -    }
  276.61 -
  276.62 -    public CharsetEncoder newEncoder() {
  276.63 -        return new Encoder(this);
  276.64 -    }
  276.65 -
  276.66 -
  276.67 -    /**
  276.68 -     * These accessors are temporarily supplied while sun.io
  276.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  276.70 -     * These facilitate sharing of conversion tables between the
  276.71 -     * two co-existing implementations. When sun.io converters
  276.72 -     * are made extinct these will be unncessary and should be removed
  276.73 -     */
  276.74 -
  276.75 -    public String getDecoderSingleByteMappings() {
  276.76 -        return Decoder.byteToCharTable;
  276.77 -
  276.78 -    }
  276.79 -
  276.80 -    public short[] getEncoderIndex1() {
  276.81 -        return Encoder.index1;
  276.82 -
  276.83 -    }
  276.84 -    public String getEncoderIndex2() {
  276.85 -        return Encoder.index2;
  276.86 -
  276.87 -    }
  276.88 -
  276.89 -    private static class Decoder extends SingleByteDecoder {
  276.90 -            public Decoder(Charset cs) {
  276.91 -                super(cs, byteToCharTable);
  276.92 -        }
  276.93 -
  276.94 -        private final static String byteToCharTable =
  276.95 -
  276.96 -            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
  276.97 -            "\u0068\u0069\u00AB\u00BB\u0161\u00FD\u017E\u00B1" +        // 0x88 - 0x8F
  276.98 -            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
  276.99 -            "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u005D" +        // 0x98 - 0x9F
 276.100 -            "\u00B5\u00FC\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
 276.101 -            "\u0079\u007A\u00A1\u00BF\u0160\u00DD\u017D\u00AE" +        // 0xA8 - 0xAF
 276.102 -            "\u00A2\u00A3\u00A5\u00B7\u00A9\u005B\u00B6\u00BC" +        // 0xB0 - 0xB7
 276.103 -            "\u00BD\u00BE\u00AC\u007C\u203E\u00A8\u00B4\u00D7" +        // 0xB8 - 0xBF
 276.104 -            "\u00E4\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
 276.105 -            "\u0048\u0049\u00AD\u00F4\u00A6\u00F2\u00F3\u00F5" +        // 0xC8 - 0xCF
 276.106 -            "\u00E5\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
 276.107 -            "\u0051\u0052\u00B9\u00FB\u007E\u00F9\u00FA\u00FF" +        // 0xD8 - 0xDF
 276.108 -            "\u00C9\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +        // 0xE0 - 0xE7
 276.109 -            "\u0059\u005A\u00B2\u00D4\u0040\u00D2\u00D3\u00D5" +        // 0xE8 - 0xEF
 276.110 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
 276.111 -            "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" +        // 0xF8 - 0xFF
 276.112 -            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
 276.113 -            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
 276.114 -            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
 276.115 -            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 276.116 -            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
 276.117 -            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
 276.118 -            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
 276.119 -            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
 276.120 -            "\u0020\u00A0\u00E2\u007B\u00E0\u00E1\u00E3\u007D" +        // 0x40 - 0x47
 276.121 -            "\u00E7\u00F1\u00A7\u002E\u003C\u0028\u002B\u0021" +        // 0x48 - 0x4F
 276.122 -            "\u0026\u0060\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
 276.123 -            "\u00EC\u00DF\u00A4\u00C5\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
 276.124 -            "\u002D\u002F\u00C2\u0023\u00C0\u00C1\u00C3\u0024" +        // 0x60 - 0x67
 276.125 -            "\u00C7\u00D1\u00F6\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
 276.126 -            "\u00F8\\\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +    // 0x70 - 0x77
 276.127 -            "\u00CC\u00E9\u003A\u00C4\u00D6\'\u003D\"";         // 0x78 - 0x7F
 276.128 -
 276.129 -    }
 276.130 -
 276.131 -    private static class Encoder extends SingleByteEncoder {
 276.132 -            public Encoder(Charset cs) {
 276.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 276.134 -            }
 276.135 -
 276.136 -            private final static String index2 =
 276.137 -
 276.138 -
 276.139 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
 276.140 -            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
 276.141 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 276.142 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 276.143 -            "\u0040\u004F\u007F\u0063\u0067\u006C\u0050\u007D" +
 276.144 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 276.145 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 276.146 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 276.147 -            "\u00EC\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 276.148 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 276.149 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 276.150 -            "\u00E7\u00E8\u00E9\u00B5\u0071\u009F\u005F\u006D" +
 276.151 -            "\u0051\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 276.152 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 276.153 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 276.154 -            "\u00A7\u00A8\u00A9\u0043\u00BB\u0047\u00DC\u0007" +
 276.155 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 276.156 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 276.157 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 276.158 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 276.159 -            "\u0041\u00AA\u00B0\u00B1\u005A\u00B2\u00CC\u004A" +
 276.160 -            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u0000" +
 276.161 -            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
 276.162 -            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
 276.163 -            "\u0064\u0065\u0062\u0066\u007B\u005B\u009E\u0068" +
 276.164 -            "\u0074\u00E0\u0072\u0073\u0078\u0075\u0076\u0077" +
 276.165 -            "\u0000\u0069\u00ED\u00EE\u00EB\u00EF\u007C\u00BF" +
 276.166 -            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u0000\u0059" +
 276.167 -            "\u0044\u0045\u0042\u0046\u00C0\u00D0\u009C\u0048" +
 276.168 -            "\u0054\u0079\u0052\u0053\u0058\u0055\u0056\u0057" +
 276.169 -            "\u0000\u0049\u00CD\u00CE\u00CB\u00CF\u006A\u00E1" +
 276.170 -            "\u0070\u00DD\u00DE\u00DB\u00A1\u008D\u0000\u00DF" +
 276.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.183 -            "\u00AC\u008C\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.186 -            "\u0000\u0000\u0000\u0000\u0000\u00AE\u008E\u0000" +
 276.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BC" +
 276.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 276.243 -            "\u0000";
 276.244 -
 276.245 -    private final static short index1[] = {
 276.246 -            0, 256, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 276.247 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 276.248 -            577, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 276.249 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 276.250 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 276.251 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 276.252 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 276.253 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 276.254 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 276.255 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 276.256 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 276.257 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 276.258 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 276.259 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 276.260 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 276.261 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 276.262 -
 276.263 -        };
 276.264 -    }
 276.265 -}
   277.1 --- a/src/share/classes/sun/nio/cs/ext/IBM1123.java	Wed Jan 14 21:35:03 2009 -0800
   277.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   277.3 @@ -1,272 +0,0 @@
   277.4 -
   277.5 -/*
   277.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   277.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   277.8 - *
   277.9 - * This code is free software; you can redistribute it and/or modify it
  277.10 - * under the terms of the GNU General Public License version 2 only, as
  277.11 - * published by the Free Software Foundation.  Sun designates this
  277.12 - * particular file as subject to the "Classpath" exception as provided
  277.13 - * by Sun in the LICENSE file that accompanied this code.
  277.14 - *
  277.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  277.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  277.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  277.18 - * version 2 for more details (a copy is included in the LICENSE file that
  277.19 - * accompanied this code).
  277.20 - *
  277.21 - * You should have received a copy of the GNU General Public License version
  277.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  277.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  277.24 - *
  277.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  277.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  277.27 - * have any questions.
  277.28 - */
  277.29 -
  277.30 -package sun.nio.cs.ext;
  277.31 -
  277.32 -
  277.33 -import java.nio.charset.Charset;
  277.34 -import java.nio.charset.CharsetDecoder;
  277.35 -import java.nio.charset.CharsetEncoder;
  277.36 -import sun.nio.cs.StandardCharsets;
  277.37 -import sun.nio.cs.SingleByteDecoder;
  277.38 -import sun.nio.cs.SingleByteEncoder;
  277.39 -import sun.nio.cs.HistoricallyNamedCharset;
  277.40 -
  277.41 -public class IBM1123
  277.42 -    extends Charset
  277.43 -    implements HistoricallyNamedCharset
  277.44 -{
  277.45 -
  277.46 -    public IBM1123() {
  277.47 -        super("x-IBM1123", ExtendedCharsets.aliasesFor("x-IBM1123"));
  277.48 -    }
  277.49 -
  277.50 -    public String historicalName() {
  277.51 -        return "Cp1123";
  277.52 -    }
  277.53 -
  277.54 -    public boolean contains(Charset cs) {
  277.55 -        return (cs instanceof IBM1123);
  277.56 -    }
  277.57 -
  277.58 -    public CharsetDecoder newDecoder() {
  277.59 -        return new Decoder(this);
  277.60 -    }
  277.61 -
  277.62 -    public CharsetEncoder newEncoder() {
  277.63 -        return new Encoder(this);
  277.64 -    }
  277.65 -
  277.66 -
  277.67 -    /**
  277.68 -     * These accessors are temporarily supplied while sun.io
  277.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  277.70 -     * These facilitate sharing of conversion tables between the
  277.71 -     * two co-existing implementations. When sun.io converters
  277.72 -     * are made extinct these will be unncessary and should be removed
  277.73 -     */
  277.74 -
  277.75 -    public String getDecoderSingleByteMappings() {
  277.76 -        return Decoder.byteToCharTable;
  277.77 -
  277.78 -    }
  277.79 -
  277.80 -    public short[] getEncoderIndex1() {
  277.81 -        return Encoder.index1;
  277.82 -
  277.83 -    }
  277.84 -    public String getEncoderIndex2() {
  277.85 -        return Encoder.index2;
  277.86 -
  277.87 -    }
  277.88 -
  277.89 -    private static class Decoder extends SingleByteDecoder {
  277.90 -            public Decoder(Charset cs) {
  277.91 -                super(cs, byteToCharTable);
  277.92 -        }
  277.93 -
  277.94 -        private final static String byteToCharTable =
  277.95 -
  277.96 -            "\u0446\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
  277.97 -            "\u0068\u0069\u0434\u0435\u0444\u0433\u0445\u0438" +        // 0x88 - 0x8F
  277.98 -            "\u0439\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
  277.99 -            "\u0071\u0072\u043A\u043B\u043C\u043D\u043E\u043F" +        // 0x98 - 0x9F
 277.100 -            "\u044F\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
 277.101 -            "\u0079\u007A\u0440\u0441\u0442\u0443\u0436\u0432" +        // 0xA8 - 0xAF
 277.102 -            "\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A" +        // 0xB0 - 0xB7
 277.103 -            "\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413" +        // 0xB8 - 0xBF
 277.104 -            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
 277.105 -            "\u0048\u0049\u0425\u0418\u0419\u041A\u041B\u041C" +        // 0xC8 - 0xCF
 277.106 -            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
 277.107 -            "\u0051\u0052\u041D\u041E\u041F\u042F\u0420\u0421" +        // 0xD8 - 0xDF
 277.108 -            "\\\u00A7\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
 277.109 -            "\u0059\u005A\u0422\u0423\u0416\u0412\u042C\u042B" +        // 0xE8 - 0xEF
 277.110 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
 277.111 -            "\u0038\u0039\u0417\u0428\u042D\u0429\u0427\u009F" +        // 0xF8 - 0xFF
 277.112 -            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
 277.113 -            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
 277.114 -            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
 277.115 -            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 277.116 -            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
 277.117 -            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
 277.118 -            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
 277.119 -            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
 277.120 -            "\u0020\u00A0\u0452\u0491\u0451\u0454\u0455\u0456" +        // 0x40 - 0x47
 277.121 -            "\u0457\u0458\u005B\u002E\u003C\u0028\u002B\u0021" +        // 0x48 - 0x4F
 277.122 -            "\u0026\u0459\u045A\u045B\u045C\u045E\u045F\u042A" +        // 0x50 - 0x57
 277.123 -            "\u2116\u0402\u005D\u0024\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
 277.124 -            "\u002D\u002F\u0490\u0401\u0404\u0405\u0406\u0407" +        // 0x60 - 0x67
 277.125 -            "\u0408\u0409\u007C\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
 277.126 -            "\u040A\u040B\u040C\u00AD\u040E\u040F\u044E\u0430" +        // 0x70 - 0x77
 277.127 -            "\u0431\u0060\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
 277.128 -
 277.129 -    }
 277.130 -
 277.131 -    private static class Encoder extends SingleByteEncoder {
 277.132 -            public Encoder(Charset cs) {
 277.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 277.134 -            }
 277.135 -
 277.136 -            private final static String index2 =
 277.137 -
 277.138 -
 277.139 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
 277.140 -            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
 277.141 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 277.142 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 277.143 -            "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" +
 277.144 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 277.145 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 277.146 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 277.147 -            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 277.148 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 277.149 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 277.150 -            "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u005F\u006D" +
 277.151 -            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 277.152 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 277.153 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 277.154 -            "\u00A7\u00A8\u00A9\u00C0\u006A\u00D0\u00A1\u0007" +
 277.155 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 277.156 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 277.157 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 277.158 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 277.159 -            "\u0041\u0000\u0000\u0000\u0000\u0000\u0000\u00E1" +
 277.160 -            "\u0000\u0000\u0000\u0000\u0000\u0073\u0000\u0000" +
 277.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.162 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0063\u0059" +
 277.193 -            "\u0000\u0064\u0065\u0066\u0067\u0068\u0069\u0070" +
 277.194 -            "\u0071\u0072\u0000\u0074\u0075\u00B9\u00BA\u00ED" +
 277.195 -            "\u00BF\u00BC\u00BD\u00EC\u00FA\u00CB\u00CC\u00CD" +
 277.196 -            "\u00CE\u00CF\u00DA\u00DB\u00DC\u00DE\u00DF\u00EA" +
 277.197 -            "\u00EB\u00BE\u00CA\u00BB\u00FE\u00FB\u00FD\u0057" +
 277.198 -            "\u00EF\u00EE\u00FC\u00B8\u00DD\u0077\u0078\u00AF" +
 277.199 -            "\u008D\u008A\u008B\u00AE\u00B2\u008F\u0090\u009A" +
 277.200 -            "\u009B\u009C\u009D\u009E\u009F\u00AA\u00AB\u00AC" +
 277.201 -            "\u00AD\u008C\u008E\u0080\u00B6\u00B3\u00B5\u00B7" +
 277.202 -            "\u00B1\u00B0\u00B4\u0076\u00A0\u0000\u0044\u0042" +
 277.203 -            "\u0000\u0045\u0046\u0047\u0048\u0049\u0051\u0052" +
 277.204 -            "\u0053\u0054\u0000\u0055\u0056\u0000\u0000\u0000" +
 277.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.210 -            "\u0000\u0000\u0000\u0000\u0000\u0062\u0043\u0000" +
 277.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.224 -            "\u0000\u0000\u0000\u0000\u0000\u0058\u0000\u0000" +
 277.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 277.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 277.254 -
 277.255 -    private final static short index1[] = {
 277.256 -            0, 174, 174, 174, 429, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 277.257 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 277.258 -            174, 663, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 277.259 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 277.260 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 277.261 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 277.262 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 277.263 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 277.264 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 277.265 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 277.266 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 277.267 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 277.268 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 277.269 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 277.270 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 277.271 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 277.272 -
 277.273 -        };
 277.274 -    }
 277.275 -}
   278.1 --- a/src/share/classes/sun/nio/cs/ext/IBM1124.java	Wed Jan 14 21:35:03 2009 -0800
   278.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   278.3 @@ -1,272 +0,0 @@
   278.4 -
   278.5 -/*
   278.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   278.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   278.8 - *
   278.9 - * This code is free software; you can redistribute it and/or modify it
  278.10 - * under the terms of the GNU General Public License version 2 only, as
  278.11 - * published by the Free Software Foundation.  Sun designates this
  278.12 - * particular file as subject to the "Classpath" exception as provided
  278.13 - * by Sun in the LICENSE file that accompanied this code.
  278.14 - *
  278.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  278.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  278.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  278.18 - * version 2 for more details (a copy is included in the LICENSE file that
  278.19 - * accompanied this code).
  278.20 - *
  278.21 - * You should have received a copy of the GNU General Public License version
  278.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  278.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  278.24 - *
  278.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  278.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  278.27 - * have any questions.
  278.28 - */
  278.29 -
  278.30 -package sun.nio.cs.ext;
  278.31 -
  278.32 -
  278.33 -import java.nio.charset.Charset;
  278.34 -import java.nio.charset.CharsetDecoder;
  278.35 -import java.nio.charset.CharsetEncoder;
  278.36 -import sun.nio.cs.StandardCharsets;
  278.37 -import sun.nio.cs.SingleByteDecoder;
  278.38 -import sun.nio.cs.SingleByteEncoder;
  278.39 -import sun.nio.cs.HistoricallyNamedCharset;
  278.40 -
  278.41 -public class IBM1124
  278.42 -    extends Charset
  278.43 -    implements HistoricallyNamedCharset
  278.44 -{
  278.45 -
  278.46 -    public IBM1124() {
  278.47 -        super("x-IBM1124", ExtendedCharsets.aliasesFor("x-IBM1124"));
  278.48 -    }
  278.49 -
  278.50 -    public String historicalName() {
  278.51 -        return "Cp1124";
  278.52 -    }
  278.53 -
  278.54 -    public boolean contains(Charset cs) {
  278.55 -        return (cs instanceof IBM1124);
  278.56 -    }
  278.57 -
  278.58 -    public CharsetDecoder newDecoder() {
  278.59 -        return new Decoder(this);
  278.60 -    }
  278.61 -
  278.62 -    public CharsetEncoder newEncoder() {
  278.63 -        return new Encoder(this);
  278.64 -    }
  278.65 -
  278.66 -
  278.67 -    /**
  278.68 -     * These accessors are temporarily supplied while sun.io
  278.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  278.70 -     * These facilitate sharing of conversion tables between the
  278.71 -     * two co-existing implementations. When sun.io converters
  278.72 -     * are made extinct these will be unncessary and should be removed
  278.73 -     */
  278.74 -
  278.75 -    public String getDecoderSingleByteMappings() {
  278.76 -        return Decoder.byteToCharTable;
  278.77 -
  278.78 -    }
  278.79 -
  278.80 -    public short[] getEncoderIndex1() {
  278.81 -        return Encoder.index1;
  278.82 -
  278.83 -    }
  278.84 -    public String getEncoderIndex2() {
  278.85 -        return Encoder.index2;
  278.86 -
  278.87 -    }
  278.88 -
  278.89 -    private static class Decoder extends SingleByteDecoder {
  278.90 -            public Decoder(Charset cs) {
  278.91 -                super(cs, byteToCharTable);
  278.92 -        }
  278.93 -
  278.94 -        private final static String byteToCharTable =
  278.95 -
  278.96 -            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +        // 0x80 - 0x87
  278.97 -            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +        // 0x88 - 0x8F
  278.98 -            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +        // 0x90 - 0x97
  278.99 -            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +        // 0x98 - 0x9F
 278.100 -            "\u00A0\u0401\u0402\u0490\u0404\u0405\u0406\u0407" +        // 0xA0 - 0xA7
 278.101 -            "\u0408\u0409\u040A\u040B\u040C\u00AD\u040E\u040F" +        // 0xA8 - 0xAF
 278.102 -            "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417" +        // 0xB0 - 0xB7
 278.103 -            "\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F" +        // 0xB8 - 0xBF
 278.104 -            "\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427" +        // 0xC0 - 0xC7
 278.105 -            "\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F" +        // 0xC8 - 0xCF
 278.106 -            "\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437" +        // 0xD0 - 0xD7
 278.107 -            "\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F" +        // 0xD8 - 0xDF
 278.108 -            "\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447" +        // 0xE0 - 0xE7
 278.109 -            "\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" +        // 0xE8 - 0xEF
 278.110 -            "\u2116\u0451\u0452\u0491\u0454\u0455\u0456\u0457" +        // 0xF0 - 0xF7
 278.111 -            "\u0458\u0459\u045A\u045B\u045C\u00A7\u045E\u045F" +        // 0xF8 - 0xFF
 278.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 278.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 278.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 278.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 278.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 278.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 278.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 278.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 278.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 278.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 278.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 278.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 278.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 278.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 278.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 278.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 278.128 -
 278.129 -    }
 278.130 -
 278.131 -    private static class Encoder extends SingleByteEncoder {
 278.132 -            public Encoder(Charset cs) {
 278.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 278.134 -            }
 278.135 -
 278.136 -            private final static String index2 =
 278.137 -
 278.138 -
 278.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 278.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 278.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 278.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 278.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 278.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 278.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 278.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 278.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 278.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 278.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 278.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 278.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 278.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 278.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 278.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 278.155 -            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 278.156 -            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
 278.157 -            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
 278.158 -            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
 278.159 -            "\u00A0\u0000\u0000\u0000\u0000\u0000\u0000\u00FD" +
 278.160 -            "\u0000\u0000\u0000\u0000\u0000\u00AD\u0000\u0000" +
 278.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.162 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00A1\u00A2" +
 278.193 -            "\u0000\u00A4\u00A5\u00A6\u00A7\u00A8\u00A9\u00AA" +
 278.194 -            "\u00AB\u00AC\u0000\u00AE\u00AF\u00B0\u00B1\u00B2" +
 278.195 -            "\u00B3\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u00BA" +
 278.196 -            "\u00BB\u00BC\u00BD\u00BE\u00BF\u00C0\u00C1\u00C2" +
 278.197 -            "\u00C3\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA" +
 278.198 -            "\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1\u00D2" +
 278.199 -            "\u00D3\u00D4\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA" +
 278.200 -            "\u00DB\u00DC\u00DD\u00DE\u00DF\u00E0\u00E1\u00E2" +
 278.201 -            "\u00E3\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA" +
 278.202 -            "\u00EB\u00EC\u00ED\u00EE\u00EF\u0000\u00F1\u00F2" +
 278.203 -            "\u0000\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA" +
 278.204 -            "\u00FB\u00FC\u0000\u00FE\u00FF\u0000\u0000\u0000" +
 278.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.210 -            "\u0000\u0000\u0000\u0000\u0000\u00A3\u00F3\u0000" +
 278.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.224 -            "\u0000\u0000\u0000\u0000\u0000\u00F0\u0000\u0000" +
 278.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 278.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 278.254 -
 278.255 -    private final static short index1[] = {
 278.256 -            0, 174, 174, 174, 429, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 278.257 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 278.258 -            174, 663, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 278.259 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 278.260 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 278.261 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 278.262 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 278.263 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 278.264 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 278.265 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 278.266 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 278.267 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 278.268 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 278.269 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 278.270 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 278.271 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 278.272 -
 278.273 -        };
 278.274 -    }
 278.275 -}
   279.1 --- a/src/share/classes/sun/nio/cs/ext/IBM1140.java	Wed Jan 14 21:35:03 2009 -0800
   279.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   279.3 @@ -1,191 +0,0 @@
   279.4 -/*
   279.5 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   279.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   279.7 - *
   279.8 - * This code is free software; you can redistribute it and/or modify it
   279.9 - * under the terms of the GNU General Public License version 2 only, as
  279.10 - * published by the Free Software Foundation.  Sun designates this
  279.11 - * particular file as subject to the "Classpath" exception as provided
  279.12 - * by Sun in the LICENSE file that accompanied this code.
  279.13 - *
  279.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  279.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  279.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  279.17 - * version 2 for more details (a copy is included in the LICENSE file that
  279.18 - * accompanied this code).
  279.19 - *
  279.20 - * You should have received a copy of the GNU General Public License version
  279.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  279.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  279.23 - *
  279.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  279.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  279.26 - * have any questions.
  279.27 - */
  279.28 -
  279.29 -package sun.nio.cs.ext;
  279.30 -
  279.31 -
  279.32 -import java.nio.charset.Charset;
  279.33 -import java.nio.charset.CharsetDecoder;
  279.34 -import java.nio.charset.CharsetEncoder;
  279.35 -import sun.nio.cs.StandardCharsets;
  279.36 -import sun.nio.cs.SingleByteDecoder;
  279.37 -import sun.nio.cs.SingleByteEncoder;
  279.38 -import sun.nio.cs.HistoricallyNamedCharset;
  279.39 -
  279.40 -public class IBM1140
  279.41 -    extends Charset
  279.42 -    implements HistoricallyNamedCharset
  279.43 -{
  279.44 -
  279.45 -    public IBM1140() {
  279.46 -        super("IBM01140", ExtendedCharsets.aliasesFor("IBM01140"));
  279.47 -    }
  279.48 -
  279.49 -    public String historicalName() {
  279.50 -        return "Cp1140";
  279.51 -    }
  279.52 -
  279.53 -    public boolean contains(Charset cs) {
  279.54 -        return (cs instanceof IBM1140);
  279.55 -    }
  279.56 -
  279.57 -    public CharsetDecoder newDecoder() {
  279.58 -        return new Decoder(this);
  279.59 -    }
  279.60 -
  279.61 -    public CharsetEncoder newEncoder() {
  279.62 -        return new Encoder(this);
  279.63 -    }
  279.64 -
  279.65 -    /**
  279.66 -     * These accessors are temporarily supplied while sun.io
  279.67 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  279.68 -     * These facilitate sharing of conversion tables between the
  279.69 -     * two co-existing implementations. When sun.io converters
  279.70 -     * are made extinct these will be unncessary and should be removed
  279.71 -     */
  279.72 -
  279.73 -    public short[] getEncoderIndex1() {
  279.74 -        return Encoder.index1;
  279.75 -    }
  279.76 -
  279.77 -    public String getEncoderIndex2() {
  279.78 -        return Encoder.index2;
  279.79 -    }
  279.80 -
  279.81 -    private static class Decoder extends IBM037.Decoder {
  279.82 -            public Decoder(Charset cs) {
  279.83 -                super(cs);
  279.84 -            }
  279.85 -
  279.86 -            public char decode(int byteIndex) {
  279.87 -                return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex);
  279.88 -            }
  279.89 -    }
  279.90 -
  279.91 -    private static class Encoder extends SingleByteEncoder {
  279.92 -            public Encoder(Charset cs) {
  279.93 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
  279.94 -            }
  279.95 -
  279.96 -    private final static String index2 =
  279.97 -
  279.98 -        "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
  279.99 -        "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" +
 279.100 -        "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 279.101 -        "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 279.102 -        "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" +
 279.103 -        "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 279.104 -        "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 279.105 -        "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 279.106 -        "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 279.107 -        "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 279.108 -        "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 279.109 -        "\u00E7\u00E8\u00E9\u00BA\u00E0\u00BB\u00B0\u006D" +
 279.110 -        "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 279.111 -        "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 279.112 -        "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 279.113 -        "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00A1\u0007" +
 279.114 -        "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 279.115 -        "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 279.116 -        "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 279.117 -        "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 279.118 -        "\u0041\u00AA\u004A\u00B1\u0000\u00B2\u006A\u00B5" +
 279.119 -        "\u00BD\u00B4\u009A\u008A\u005F\u00CA\u00AF\u00BC" +
 279.120 -        "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
 279.121 -        "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
 279.122 -        "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
 279.123 -        "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
 279.124 -        "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
 279.125 -        "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
 279.126 -        "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" +
 279.127 -        "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
 279.128 -        "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
 279.129 -        "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
 279.130 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.131 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.132 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.133 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.134 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.135 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.136 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.137 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.138 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.139 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.140 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.141 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.142 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.143 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.144 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.145 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.146 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.147 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.148 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.149 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.150 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.151 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.152 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.153 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.154 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.155 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.156 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.157 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.158 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.159 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.160 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.161 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.162 -        "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.163 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.164 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.165 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.166 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.167 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.168 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.169 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.170 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.171 -        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 279.172 -        "\u0000\u0000\u0000\u0000";
 279.173 -
 279.174 -    private final static short index1[] = {
 279.175 -        0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 279.176 -        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 279.177 -        340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 279.178 -        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 279.179 -        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 279.180 -        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 279.181 -        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 279.182 -        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 279.183 -        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 279.184 -        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 279.185 -        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 279.186 -        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 279.187 -        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 279.188 -        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 279.189 -        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 279.190 -        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 279.191 -    };
 279.192 -
 279.193 -    }
 279.194 -}
   280.1 --- a/src/share/classes/sun/nio/cs/ext/IBM1141.java	Wed Jan 14 21:35:03 2009 -0800
   280.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   280.3 @@ -1,189 +0,0 @@
   280.4 -/*
   280.5 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   280.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   280.7 - *
   280.8 - * This code is free software; you can redistribute it and/or modify it
   280.9 - * under the terms of the GNU General Public License version 2 only, as
  280.10 - * published by the Free Software Foundation.  Sun designates this
  280.11 - * particular file as subject to the "Classpath" exception as provided
  280.12 - * by Sun in the LICENSE file that accompanied this code.
  280.13 - *
  280.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  280.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  280.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  280.17 - * version 2 for more details (a copy is included in the LICENSE file that
  280.18 - * accompanied this code).
  280.19 - *
  280.20 - * You should have received a copy of the GNU General Public License version
  280.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  280.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  280.23 - *
  280.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  280.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  280.26 - * have any questions.
  280.27 - */
  280.28 -
  280.29 -package sun.nio.cs.ext;
  280.30 -
  280.31 -
  280.32 -import java.nio.charset.Charset;
  280.33 -import java.nio.charset.CharsetDecoder;
  280.34 -import java.nio.charset.CharsetEncoder;
  280.35 -import sun.nio.cs.StandardCharsets;
  280.36 -import sun.nio.cs.SingleByteDecoder;
  280.37 -import sun.nio.cs.SingleByteEncoder;
  280.38 -import sun.nio.cs.HistoricallyNamedCharset;
  280.39 -
  280.40 -public class IBM1141
  280.41 -    extends Charset
  280.42 -    implements HistoricallyNamedCharset
  280.43 -{
  280.44 -
  280.45 -    public IBM1141() {
  280.46 -        super("IBM01141", ExtendedCharsets.aliasesFor("IBM01141"));
  280.47 -    }
  280.48 -
  280.49 -    public String historicalName() {
  280.50 -        return "Cp1141";
  280.51 -    }
  280.52 -
  280.53 -    public boolean contains(Charset cs) {
  280.54 -        return (cs instanceof IBM1141);
  280.55 -    }
  280.56 -
  280.57 -    public CharsetDecoder newDecoder() {
  280.58 -        return new Decoder(this);
  280.59 -    }
  280.60 -
  280.61 -    public CharsetEncoder newEncoder() {
  280.62 -        return new Encoder(this);
  280.63 -    }
  280.64 -
  280.65 -    /**
  280.66 -     * These accessors are temporarily supplied while sun.io
  280.67 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  280.68 -     * These facilitate sharing of conversion tables between the
  280.69 -     * two co-existing implementations. When sun.io converters
  280.70 -     * are made extinct these will be unncessary and should be removed
  280.71 -     */
  280.72 -
  280.73 -    public short[] getEncoderIndex1() {
  280.74 -        return Encoder.index1;
  280.75 -    }
  280.76 -
  280.77 -    public String getEncoderIndex2() {
  280.78 -        return Encoder.index2;
  280.79 -    }
  280.80 -    private static class Decoder extends IBM273.Decoder {
  280.81 -            public Decoder(Charset cs) {
  280.82 -                super(cs);
  280.83 -            }
  280.84 -
  280.85 -            public char decode(int byteIndex) {
  280.86 -                return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex);
  280.87 -            }
  280.88 -    }
  280.89 -
  280.90 -    private static class Encoder extends SingleByteEncoder {
  280.91 -        public Encoder(Charset cs) {
  280.92 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
  280.93 -        }
  280.94 -
  280.95 -        private final static String index2 =
  280.96 -
  280.97 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
  280.98 -            "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" +
  280.99 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 280.100 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 280.101 -            "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" +
 280.102 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 280.103 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 280.104 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 280.105 -            "\u00B5\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 280.106 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 280.107 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 280.108 -            "\u00E7\u00E8\u00E9\u0063\u00EC\u00FC\u005F\u006D" +
 280.109 -            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 280.110 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 280.111 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 280.112 -            "\u00A7\u00A8\u00A9\u0043\u00BB\u00DC\u0059\u0007" +
 280.113 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 280.114 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 280.115 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 280.116 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 280.117 -            "\u0041\u00AA\u00B0\u00B1\u0000\u00B2\u00CC\u007C" +
 280.118 -            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
 280.119 -            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
 280.120 -            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
 280.121 -            "\u0064\u0065\u0062\u0066\u004A\u0067\u009E\u0068" +
 280.122 -            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
 280.123 -            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00E0\u00BF" +
 280.124 -            "\u0080\u00FD\u00FE\u00FB\u005A\u00AD\u00AE\u00A1" +
 280.125 -            "\u0044\u0045\u0042\u0046\u00C0\u0047\u009C\u0048" +
 280.126 -            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
 280.127 -            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u006A\u00E1" +
 280.128 -            "\u0070\u00DD\u00DE\u00DB\u00D0\u008D\u008E\u00DF" +
 280.129 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.130 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.131 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.132 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.133 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.134 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.135 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.136 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.137 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.138 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.139 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.140 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.141 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.142 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.143 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.144 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.145 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.146 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.147 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.148 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.149 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.150 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.151 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.152 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.153 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.160 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.161 -            "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.162 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 280.171 -            "\u0000\u0000\u0000\u0000";
 280.172 -
 280.173 -        private final static short index1[] = {
 280.174 -            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 280.175 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 280.176 -            340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 280.177 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 280.178 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 280.179 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 280.180 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 280.181 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 280.182 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 280.183 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 280.184 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 280.185 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 280.186 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 280.187 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 280.188 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 280.189 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 280.190 -        };
 280.191 -    }
 280.192 -}
   281.1 --- a/src/share/classes/sun/nio/cs/ext/IBM1142.java	Wed Jan 14 21:35:03 2009 -0800
   281.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   281.3 @@ -1,190 +0,0 @@
   281.4 -/*
   281.5 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   281.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   281.7 - *
   281.8 - * This code is free software; you can redistribute it and/or modify it
   281.9 - * under the terms of the GNU General Public License version 2 only, as
  281.10 - * published by the Free Software Foundation.  Sun designates this
  281.11 - * particular file as subject to the "Classpath" exception as provided
  281.12 - * by Sun in the LICENSE file that accompanied this code.
  281.13 - *
  281.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  281.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  281.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  281.17 - * version 2 for more details (a copy is included in the LICENSE file that
  281.18 - * accompanied this code).
  281.19 - *
  281.20 - * You should have received a copy of the GNU General Public License version
  281.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  281.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  281.23 - *
  281.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  281.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  281.26 - * have any questions.
  281.27 - */
  281.28 -
  281.29 -package sun.nio.cs.ext;
  281.30 -
  281.31 -
  281.32 -import java.nio.charset.Charset;
  281.33 -import java.nio.charset.CharsetDecoder;
  281.34 -import java.nio.charset.CharsetEncoder;
  281.35 -import sun.nio.cs.StandardCharsets;
  281.36 -import sun.nio.cs.SingleByteDecoder;
  281.37 -import sun.nio.cs.SingleByteEncoder;
  281.38 -import sun.nio.cs.HistoricallyNamedCharset;
  281.39 -
  281.40 -public class IBM1142
  281.41 -    extends Charset
  281.42 -    implements HistoricallyNamedCharset
  281.43 -{
  281.44 -
  281.45 -    public IBM1142() {
  281.46 -        super("IBM01142", ExtendedCharsets.aliasesFor("IBM01142"));
  281.47 -    }
  281.48 -
  281.49 -    public String historicalName() {
  281.50 -        return "Cp1142";
  281.51 -    }
  281.52 -
  281.53 -    public boolean contains(Charset cs) {
  281.54 -        return (cs instanceof IBM1142);
  281.55 -    }
  281.56 -
  281.57 -    public CharsetDecoder newDecoder() {
  281.58 -        return new Decoder(this);
  281.59 -    }
  281.60 -
  281.61 -    public CharsetEncoder newEncoder() {
  281.62 -        return new Encoder(this);
  281.63 -    }
  281.64 -
  281.65 -    /**
  281.66 -     * These accessors are temporarily supplied while sun.io
  281.67 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  281.68 -     * These facilitate sharing of conversion tables between the
  281.69 -     * two co-existing implementations. When sun.io converters
  281.70 -     * are made extinct these will be unncessary and should be removed
  281.71 -     */
  281.72 -
  281.73 -    public short[] getEncoderIndex1() {
  281.74 -        return Encoder.index1;
  281.75 -    }
  281.76 -
  281.77 -    public String getEncoderIndex2() {
  281.78 -        return Encoder.index2;
  281.79 -    }
  281.80 -
  281.81 -    private static class Decoder extends IBM277.Decoder {
  281.82 -            public Decoder(Charset cs) {
  281.83 -                super(cs);
  281.84 -            }
  281.85 -
  281.86 -            public char decode(int byteIndex) {
  281.87 -                return (byteIndex == (byte)0x5A) ? '\u20AC' : super.decode(byteIndex);
  281.88 -            }
  281.89 -    }
  281.90 -
  281.91 -    private static class Encoder extends SingleByteEncoder {
  281.92 -        public Encoder(Charset cs) {
  281.93 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
  281.94 -        }
  281.95 -
  281.96 -        private final static String index2 =
  281.97 -
  281.98 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
  281.99 -            "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" +
 281.100 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 281.101 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 281.102 -            "\u0040\u004F\u007F\u004A\u0067\u006C\u0050\u007D" +
 281.103 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 281.104 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 281.105 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 281.106 -            "\u0080\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 281.107 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 281.108 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 281.109 -            "\u00E7\u00E8\u00E9\u009E\u00E0\u009F\u005F\u006D" +
 281.110 -            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 281.111 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 281.112 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 281.113 -            "\u00A7\u00A8\u00A9\u009C\u00BB\u0047\u00DC\u0007" +
 281.114 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 281.115 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 281.116 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 281.117 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 281.118 -            "\u0041\u00AA\u00B0\u00B1\u0000\u00B2\u0070\u00B5" +
 281.119 -            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
 281.120 -            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
 281.121 -            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
 281.122 -            "\u0064\u0065\u0062\u0066\u0063\u005B\u007B\u0068" +
 281.123 -            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
 281.124 -            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
 281.125 -            "\u007C\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
 281.126 -            "\u0044\u0045\u0042\u0046\u0043\u00D0\u00C0\u0048" +
 281.127 -            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
 281.128 -            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
 281.129 -            "\u006A\u00DD\u00DE\u00DB\u00A1\u008D\u008E\u00DF" +
 281.130 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.131 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.132 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.133 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.134 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.135 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.136 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.137 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.138 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.139 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.140 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.141 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.142 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.143 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.144 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.145 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.146 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.147 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.148 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.149 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.150 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.151 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.152 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.153 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.160 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.162 -            "\u005A\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 281.172 -            "\u0000\u0000\u0000\u0000";
 281.173 -
 281.174 -        private final static short index1[] = {
 281.175 -            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 281.176 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 281.177 -            340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 281.178 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 281.179 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 281.180 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 281.181 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 281.182 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 281.183 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 281.184 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 281.185 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 281.186 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 281.187 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 281.188 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 281.189 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 281.190 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 281.191 -        };
 281.192 -    }
 281.193 -}
   282.1 --- a/src/share/classes/sun/nio/cs/ext/IBM1143.java	Wed Jan 14 21:35:03 2009 -0800
   282.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   282.3 @@ -1,190 +0,0 @@
   282.4 -/*
   282.5 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   282.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   282.7 - *
   282.8 - * This code is free software; you can redistribute it and/or modify it
   282.9 - * under the terms of the GNU General Public License version 2 only, as
  282.10 - * published by the Free Software Foundation.  Sun designates this
  282.11 - * particular file as subject to the "Classpath" exception as provided
  282.12 - * by Sun in the LICENSE file that accompanied this code.
  282.13 - *
  282.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  282.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  282.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  282.17 - * version 2 for more details (a copy is included in the LICENSE file that
  282.18 - * accompanied this code).
  282.19 - *
  282.20 - * You should have received a copy of the GNU General Public License version
  282.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  282.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  282.23 - *
  282.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  282.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  282.26 - * have any questions.
  282.27 - */
  282.28 -
  282.29 -package sun.nio.cs.ext;
  282.30 -
  282.31 -
  282.32 -import java.nio.charset.Charset;
  282.33 -import java.nio.charset.CharsetDecoder;
  282.34 -import java.nio.charset.CharsetEncoder;
  282.35 -import sun.nio.cs.StandardCharsets;
  282.36 -import sun.nio.cs.SingleByteDecoder;
  282.37 -import sun.nio.cs.SingleByteEncoder;
  282.38 -import sun.nio.cs.HistoricallyNamedCharset;
  282.39 -
  282.40 -public class IBM1143
  282.41 -    extends Charset
  282.42 -    implements HistoricallyNamedCharset
  282.43 -{
  282.44 -
  282.45 -    public IBM1143() {
  282.46 -        super("IBM01143", ExtendedCharsets.aliasesFor("IBM01143"));
  282.47 -    }
  282.48 -
  282.49 -    public String historicalName() {
  282.50 -        return "Cp1143";
  282.51 -    }
  282.52 -
  282.53 -    public boolean contains(Charset cs) {
  282.54 -        return (cs instanceof IBM1143);
  282.55 -    }
  282.56 -
  282.57 -    public CharsetDecoder newDecoder() {
  282.58 -        return new Decoder(this);
  282.59 -    }
  282.60 -
  282.61 -    public CharsetEncoder newEncoder() {
  282.62 -        return new Encoder(this);
  282.63 -    }
  282.64 -
  282.65 -    /**
  282.66 -     * These accessors are temporarily supplied while sun.io
  282.67 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  282.68 -     * These facilitate sharing of conversion tables between the
  282.69 -     * two co-existing implementations. When sun.io converters
  282.70 -     * are made extinct these will be unncessary and should be removed
  282.71 -     */
  282.72 -
  282.73 -    public short[] getEncoderIndex1() {
  282.74 -        return Encoder.index1;
  282.75 -    }
  282.76 -
  282.77 -    public String getEncoderIndex2() {
  282.78 -        return Encoder.index2;
  282.79 -    }
  282.80 -
  282.81 -    private static class Decoder extends IBM278.Decoder {
  282.82 -            public Decoder(Charset cs) {
  282.83 -                super(cs);
  282.84 -            }
  282.85 -
  282.86 -            public char decode(int byteIndex) {
  282.87 -                return (byteIndex == (byte)0x5A) ? '\u20AC' : super.decode(byteIndex);
  282.88 -            }
  282.89 -    }
  282.90 -
  282.91 -    private static class Encoder extends SingleByteEncoder {
  282.92 -        public Encoder(Charset cs) {
  282.93 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
  282.94 -        }
  282.95 -
  282.96 -        private final static String index2 =
  282.97 -
  282.98 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
  282.99 -            "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" +
 282.100 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 282.101 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 282.102 -            "\u0040\u004F\u007F\u0063\u0067\u006C\u0050\u007D" +
 282.103 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 282.104 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 282.105 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 282.106 -            "\u00EC\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 282.107 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 282.108 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 282.109 -            "\u00E7\u00E8\u00E9\u00B5\u0071\u009F\u005F\u006D" +
 282.110 -            "\u0051\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 282.111 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 282.112 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 282.113 -            "\u00A7\u00A8\u00A9\u0043\u00BB\u0047\u00DC\u0007" +
 282.114 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 282.115 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 282.116 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 282.117 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 282.118 -            "\u0041\u00AA\u00B0\u00B1\u0000\u00B2\u00CC\u004A" +
 282.119 -            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
 282.120 -            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
 282.121 -            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
 282.122 -            "\u0064\u0065\u0062\u0066\u007B\u005B\u009E\u0068" +
 282.123 -            "\u0074\u00E0\u0072\u0073\u0078\u0075\u0076\u0077" +
 282.124 -            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u007C\u00BF" +
 282.125 -            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
 282.126 -            "\u0044\u0045\u0042\u0046\u00C0\u00D0\u009C\u0048" +
 282.127 -            "\u0054\u0079\u0052\u0053\u0058\u0055\u0056\u0057" +
 282.128 -            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u006A\u00E1" +
 282.129 -            "\u0070\u00DD\u00DE\u00DB\u00A1\u008D\u008E\u00DF" +
 282.130 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.131 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.132 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.133 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.134 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.135 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.136 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.137 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.138 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.139 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.140 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.141 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.142 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.143 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.144 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.145 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.146 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.147 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.148 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.149 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.150 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.151 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.152 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.153 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.160 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.162 -            "\u005A\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 282.172 -            "\u0000\u0000\u0000\u0000";
 282.173 -
 282.174 -        private final static short index1[] = {
 282.175 -            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 282.176 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 282.177 -            340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 282.178 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 282.179 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 282.180 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 282.181 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 282.182 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 282.183 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 282.184 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 282.185 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 282.186 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 282.187 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 282.188 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 282.189 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 282.190 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 282.191 -        };
 282.192 -    }
 282.193 -}
   283.1 --- a/src/share/classes/sun/nio/cs/ext/IBM1144.java	Wed Jan 14 21:35:03 2009 -0800
   283.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   283.3 @@ -1,190 +0,0 @@
   283.4 -/*
   283.5 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   283.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   283.7 - *
   283.8 - * This code is free software; you can redistribute it and/or modify it
   283.9 - * under the terms of the GNU General Public License version 2 only, as
  283.10 - * published by the Free Software Foundation.  Sun designates this
  283.11 - * particular file as subject to the "Classpath" exception as provided
  283.12 - * by Sun in the LICENSE file that accompanied this code.
  283.13 - *
  283.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  283.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  283.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  283.17 - * version 2 for more details (a copy is included in the LICENSE file that
  283.18 - * accompanied this code).
  283.19 - *
  283.20 - * You should have received a copy of the GNU General Public License version
  283.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  283.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  283.23 - *
  283.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  283.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  283.26 - * have any questions.
  283.27 - */
  283.28 -
  283.29 -package sun.nio.cs.ext;
  283.30 -
  283.31 -
  283.32 -import java.nio.charset.Charset;
  283.33 -import java.nio.charset.CharsetDecoder;
  283.34 -import java.nio.charset.CharsetEncoder;
  283.35 -import sun.nio.cs.StandardCharsets;
  283.36 -import sun.nio.cs.SingleByteDecoder;
  283.37 -import sun.nio.cs.SingleByteEncoder;
  283.38 -import sun.nio.cs.HistoricallyNamedCharset;
  283.39 -
  283.40 -public class IBM1144
  283.41 -    extends Charset
  283.42 -    implements HistoricallyNamedCharset
  283.43 -{
  283.44 -
  283.45 -    public IBM1144() {
  283.46 -        super("IBM01144", ExtendedCharsets.aliasesFor("IBM01144"));
  283.47 -    }
  283.48 -
  283.49 -    public String historicalName() {
  283.50 -        return "Cp1144";
  283.51 -    }
  283.52 -
  283.53 -    public boolean contains(Charset cs) {
  283.54 -        return (cs instanceof IBM1144);
  283.55 -    }
  283.56 -
  283.57 -    public CharsetDecoder newDecoder() {
  283.58 -        return new Decoder(this);
  283.59 -    }
  283.60 -
  283.61 -    public CharsetEncoder newEncoder() {
  283.62 -        return new Encoder(this);
  283.63 -    }
  283.64 -
  283.65 -    /**
  283.66 -     * These accessors are temporarily supplied while sun.io
  283.67 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  283.68 -     * These facilitate sharing of conversion tables between the
  283.69 -     * two co-existing implementations. When sun.io converters
  283.70 -     * are made extinct these will be unncessary and should be removed
  283.71 -     */
  283.72 -
  283.73 -    public short[] getEncoderIndex1() {
  283.74 -        return Encoder.index1;
  283.75 -    }
  283.76 -
  283.77 -    public String getEncoderIndex2() {
  283.78 -        return Encoder.index2;
  283.79 -    }
  283.80 -
  283.81 -    private static class Decoder extends IBM280.Decoder {
  283.82 -            public Decoder(Charset cs) {
  283.83 -                super(cs);
  283.84 -            }
  283.85 -
  283.86 -            public char decode(int byteIndex) {
  283.87 -                return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex);
  283.88 -            }
  283.89 -    }
  283.90 -
  283.91 -    private static class Encoder extends SingleByteEncoder {
  283.92 -        public Encoder(Charset cs) {
  283.93 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
  283.94 -        }
  283.95 -
  283.96 -        private final static String index2 =
  283.97 -
  283.98 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
  283.99 -            "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" +
 283.100 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 283.101 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 283.102 -            "\u0040\u004F\u007F\u00B1\u005B\u006C\u0050\u007D" +
 283.103 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 283.104 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 283.105 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 283.106 -            "\u00B5\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 283.107 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 283.108 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 283.109 -            "\u00E7\u00E8\u00E9\u0090\u0048\u0051\u005F\u006D" +
 283.110 -            "\u00DD\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 283.111 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 283.112 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 283.113 -            "\u00A7\u00A8\u00A9\u0044\u00BB\u0054\u0058\u0007" +
 283.114 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 283.115 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 283.116 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 283.117 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 283.118 -            "\u0041\u00AA\u00B0\u007B\u0000\u00B2\u00CD\u007C" +
 283.119 -            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
 283.120 -            "\u004A\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
 283.121 -            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
 283.122 -            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
 283.123 -            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
 283.124 -            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
 283.125 -            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
 283.126 -            "\u00C0\u0045\u0042\u0046\u0043\u0047\u009C\u00E0" +
 283.127 -            "\u00D0\u005A\u0052\u0053\u00A1\u0055\u0056\u0057" +
 283.128 -            "\u008C\u0049\u006A\u00CE\u00CB\u00CF\u00CC\u00E1" +
 283.129 -            "\u0070\u0079\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
 283.130 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.131 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.132 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.133 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.134 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.135 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.136 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.137 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.138 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.139 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.140 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.141 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.142 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.143 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.144 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.145 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.146 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.147 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.148 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.149 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.150 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.151 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.152 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.153 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.160 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.162 -            "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 283.172 -            "\u0000\u0000\u0000\u0000";
 283.173 -
 283.174 -        private final static short index1[] = {
 283.175 -            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 283.176 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 283.177 -            340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 283.178 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 283.179 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 283.180 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 283.181 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 283.182 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 283.183 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 283.184 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 283.185 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 283.186 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 283.187 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 283.188 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 283.189 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 283.190 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 283.191 -        };
 283.192 -    }
 283.193 -}
   284.1 --- a/src/share/classes/sun/nio/cs/ext/IBM1145.java	Wed Jan 14 21:35:03 2009 -0800
   284.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   284.3 @@ -1,190 +0,0 @@
   284.4 -/*
   284.5 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   284.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   284.7 - *
   284.8 - * This code is free software; you can redistribute it and/or modify it
   284.9 - * under the terms of the GNU General Public License version 2 only, as
  284.10 - * published by the Free Software Foundation.  Sun designates this
  284.11 - * particular file as subject to the "Classpath" exception as provided
  284.12 - * by Sun in the LICENSE file that accompanied this code.
  284.13 - *
  284.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  284.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  284.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  284.17 - * version 2 for more details (a copy is included in the LICENSE file that
  284.18 - * accompanied this code).
  284.19 - *
  284.20 - * You should have received a copy of the GNU General Public License version
  284.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  284.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  284.23 - *
  284.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  284.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  284.26 - * have any questions.
  284.27 - */
  284.28 -
  284.29 -package sun.nio.cs.ext;
  284.30 -
  284.31 -
  284.32 -import java.nio.charset.Charset;
  284.33 -import java.nio.charset.CharsetDecoder;
  284.34 -import java.nio.charset.CharsetEncoder;
  284.35 -import sun.nio.cs.StandardCharsets;
  284.36 -import sun.nio.cs.SingleByteDecoder;
  284.37 -import sun.nio.cs.SingleByteEncoder;
  284.38 -import sun.nio.cs.HistoricallyNamedCharset;
  284.39 -
  284.40 -public class IBM1145
  284.41 -    extends Charset
  284.42 -    implements HistoricallyNamedCharset
  284.43 -{
  284.44 -
  284.45 -    public IBM1145() {
  284.46 -        super("IBM01145", ExtendedCharsets.aliasesFor("IBM01145"));
  284.47 -    }
  284.48 -
  284.49 -    public String historicalName() {
  284.50 -        return "Cp1145";
  284.51 -    }
  284.52 -
  284.53 -    public boolean contains(Charset cs) {
  284.54 -        return (cs instanceof IBM1145);
  284.55 -    }
  284.56 -
  284.57 -    public CharsetDecoder newDecoder() {
  284.58 -        return new Decoder(this);
  284.59 -    }
  284.60 -
  284.61 -    public CharsetEncoder newEncoder() {
  284.62 -        return new Encoder(this);
  284.63 -    }
  284.64 -
  284.65 -    /**
  284.66 -     * These accessors are temporarily supplied while sun.io
  284.67 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  284.68 -     * These facilitate sharing of conversion tables between the
  284.69 -     * two co-existing implementations. When sun.io converters
  284.70 -     * are made extinct these will be unncessary and should be removed
  284.71 -     */
  284.72 -
  284.73 -    public short[] getEncoderIndex1() {
  284.74 -        return Encoder.index1;
  284.75 -    }
  284.76 -
  284.77 -    public String getEncoderIndex2() {
  284.78 -        return Encoder.index2;
  284.79 -    }
  284.80 -
  284.81 -    private static class Decoder extends IBM284.Decoder {
  284.82 -            public Decoder(Charset cs) {
  284.83 -                super(cs);
  284.84 -            }
  284.85 -
  284.86 -            public char decode(int byteIndex) {
  284.87 -                return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex);
  284.88 -            }
  284.89 -    }
  284.90 -
  284.91 -    private static class Encoder extends SingleByteEncoder {
  284.92 -        public Encoder(Charset cs) {
  284.93 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
  284.94 -        }
  284.95 -
  284.96 -        private final static String index2 =
  284.97 -
  284.98 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
  284.99 -            "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" +
 284.100 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 284.101 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 284.102 -            "\u0040\u00BB\u007F\u0069\u005B\u006C\u0050\u007D" +
 284.103 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 284.104 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 284.105 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 284.106 -            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 284.107 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 284.108 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 284.109 -            "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u00BA\u006D" +
 284.110 -            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 284.111 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 284.112 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 284.113 -            "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00BD\u0007" +
 284.114 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 284.115 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 284.116 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 284.117 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 284.118 -            "\u0041\u00AA\u00B0\u00B1\u0000\u00B2\u0049\u00B5" +
 284.119 -            "\u00A1\u00B4\u009A\u008A\u005F\u00CA\u00AF\u00BC" +
 284.120 -            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
 284.121 -            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
 284.122 -            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
 284.123 -            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
 284.124 -            "\u00AC\u007B\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
 284.125 -            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
 284.126 -            "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" +
 284.127 -            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
 284.128 -            "\u008C\u006A\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
 284.129 -            "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
 284.130 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.131 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.132 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.133 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.134 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.135 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.136 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.137 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.138 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.139 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.140 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.141 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.142 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.143 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.144 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.145 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.146 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.147 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.148 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.149 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.150 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.151 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.152 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.153 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.160 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.162 -            "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 284.172 -            "\u0000\u0000\u0000\u0000";
 284.173 -
 284.174 -        private final static short index1[] = {
 284.175 -            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 284.176 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 284.177 -            340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 284.178 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 284.179 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 284.180 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 284.181 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 284.182 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 284.183 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 284.184 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 284.185 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 284.186 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 284.187 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 284.188 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 284.189 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 284.190 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 284.191 -        };
 284.192 -    }
 284.193 -}
   285.1 --- a/src/share/classes/sun/nio/cs/ext/IBM1146.java	Wed Jan 14 21:35:03 2009 -0800
   285.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   285.3 @@ -1,190 +0,0 @@
   285.4 -/*
   285.5 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   285.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   285.7 - *
   285.8 - * This code is free software; you can redistribute it and/or modify it
   285.9 - * under the terms of the GNU General Public License version 2 only, as
  285.10 - * published by the Free Software Foundation.  Sun designates this
  285.11 - * particular file as subject to the "Classpath" exception as provided
  285.12 - * by Sun in the LICENSE file that accompanied this code.
  285.13 - *
  285.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  285.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  285.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  285.17 - * version 2 for more details (a copy is included in the LICENSE file that
  285.18 - * accompanied this code).
  285.19 - *
  285.20 - * You should have received a copy of the GNU General Public License version
  285.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  285.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  285.23 - *
  285.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  285.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  285.26 - * have any questions.
  285.27 - */
  285.28 -
  285.29 -package sun.nio.cs.ext;
  285.30 -
  285.31 -
  285.32 -import java.nio.charset.Charset;
  285.33 -import java.nio.charset.CharsetDecoder;
  285.34 -import java.nio.charset.CharsetEncoder;
  285.35 -import sun.nio.cs.StandardCharsets;
  285.36 -import sun.nio.cs.SingleByteDecoder;
  285.37 -import sun.nio.cs.SingleByteEncoder;
  285.38 -import sun.nio.cs.HistoricallyNamedCharset;
  285.39 -
  285.40 -public class IBM1146
  285.41 -    extends Charset
  285.42 -    implements HistoricallyNamedCharset
  285.43 -{
  285.44 -
  285.45 -    public IBM1146() {
  285.46 -        super("IBM01146", ExtendedCharsets.aliasesFor("IBM01146"));
  285.47 -    }
  285.48 -
  285.49 -    public String historicalName() {
  285.50 -        return "Cp1146";
  285.51 -    }
  285.52 -
  285.53 -    public boolean contains(Charset cs) {
  285.54 -        return (cs instanceof IBM1146);
  285.55 -    }
  285.56 -
  285.57 -    public CharsetDecoder newDecoder() {
  285.58 -        return new Decoder(this);
  285.59 -    }
  285.60 -
  285.61 -    public CharsetEncoder newEncoder() {
  285.62 -        return new Encoder(this);
  285.63 -    }
  285.64 -
  285.65 -    /**
  285.66 -     * These accessors are temporarily supplied while sun.io
  285.67 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  285.68 -     * These facilitate sharing of conversion tables between the
  285.69 -     * two co-existing implementations. When sun.io converters
  285.70 -     * are made extinct these will be unncessary and should be removed
  285.71 -     */
  285.72 -
  285.73 -    public short[] getEncoderIndex1() {
  285.74 -        return Encoder.index1;
  285.75 -    }
  285.76 -
  285.77 -    public String getEncoderIndex2() {
  285.78 -        return Encoder.index2;
  285.79 -    }
  285.80 -
  285.81 -    private static class Decoder extends IBM285.Decoder {
  285.82 -            public Decoder(Charset cs) {
  285.83 -                super(cs);
  285.84 -            }
  285.85 -
  285.86 -            public char decode(int byteIndex) {
  285.87 -                return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex);
  285.88 -            }
  285.89 -    }
  285.90 -
  285.91 -    private static class Encoder extends SingleByteEncoder {
  285.92 -        public Encoder(Charset cs) {
  285.93 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
  285.94 -        }
  285.95 -
  285.96 -        private final static String index2 =
  285.97 -
  285.98 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
  285.99 -            "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" +
 285.100 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 285.101 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 285.102 -            "\u0040\u005A\u007F\u007B\u004A\u006C\u0050\u007D" +
 285.103 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 285.104 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 285.105 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 285.106 -            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 285.107 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 285.108 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 285.109 -            "\u00E7\u00E8\u00E9\u00B1\u00E0\u00BB\u00BA\u006D" +
 285.110 -            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 285.111 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 285.112 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 285.113 -            "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00BC\u0007" +
 285.114 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 285.115 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 285.116 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 285.117 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 285.118 -            "\u0041\u00AA\u00B0\u005B\u0000\u00B2\u006A\u00B5" +
 285.119 -            "\u00BD\u00B4\u009A\u008A\u005F\u00CA\u00AF\u00A1" +
 285.120 -            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
 285.121 -            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
 285.122 -            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
 285.123 -            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
 285.124 -            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
 285.125 -            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
 285.126 -            "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" +
 285.127 -            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
 285.128 -            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
 285.129 -            "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
 285.130 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.131 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.132 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.133 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.134 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.135 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.136 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.137 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.138 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.139 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.140 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.141 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.142 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.143 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.144 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.145 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.146 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.147 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.148 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.149 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.150 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.151 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.152 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.153 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.160 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.162 -            "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 285.172 -            "\u0000\u0000\u0000\u0000";
 285.173 -
 285.174 -        private final static short index1[] = {
 285.175 -            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 285.176 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 285.177 -            340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 285.178 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 285.179 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 285.180 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 285.181 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 285.182 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 285.183 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 285.184 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 285.185 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 285.186 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 285.187 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 285.188 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 285.189 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 285.190 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 285.191 -        };
 285.192 -    }
 285.193 -}
   286.1 --- a/src/share/classes/sun/nio/cs/ext/IBM1147.java	Wed Jan 14 21:35:03 2009 -0800
   286.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   286.3 @@ -1,190 +0,0 @@
   286.4 -/*
   286.5 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   286.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   286.7 - *
   286.8 - * This code is free software; you can redistribute it and/or modify it
   286.9 - * under the terms of the GNU General Public License version 2 only, as
  286.10 - * published by the Free Software Foundation.  Sun designates this
  286.11 - * particular file as subject to the "Classpath" exception as provided
  286.12 - * by Sun in the LICENSE file that accompanied this code.
  286.13 - *
  286.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  286.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  286.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  286.17 - * version 2 for more details (a copy is included in the LICENSE file that
  286.18 - * accompanied this code).
  286.19 - *
  286.20 - * You should have received a copy of the GNU General Public License version
  286.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  286.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  286.23 - *
  286.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  286.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  286.26 - * have any questions.
  286.27 - */
  286.28 -
  286.29 -package sun.nio.cs.ext;
  286.30 -
  286.31 -
  286.32 -import java.nio.charset.Charset;
  286.33 -import java.nio.charset.CharsetDecoder;
  286.34 -import java.nio.charset.CharsetEncoder;
  286.35 -import sun.nio.cs.StandardCharsets;
  286.36 -import sun.nio.cs.SingleByteDecoder;
  286.37 -import sun.nio.cs.SingleByteEncoder;
  286.38 -import sun.nio.cs.HistoricallyNamedCharset;
  286.39 -
  286.40 -public class IBM1147
  286.41 -    extends Charset
  286.42 -    implements HistoricallyNamedCharset
  286.43 -{
  286.44 -
  286.45 -    public IBM1147() {
  286.46 -        super("IBM01147", ExtendedCharsets.aliasesFor("IBM01147"));
  286.47 -    }
  286.48 -
  286.49 -    public String historicalName() {
  286.50 -        return "Cp1147";
  286.51 -    }
  286.52 -
  286.53 -    public boolean contains(Charset cs) {
  286.54 -        return (cs instanceof IBM1147);
  286.55 -    }
  286.56 -
  286.57 -    public CharsetDecoder newDecoder() {
  286.58 -        return new Decoder(this);
  286.59 -    }
  286.60 -
  286.61 -    public CharsetEncoder newEncoder() {
  286.62 -        return new Encoder(this);
  286.63 -    }
  286.64 -
  286.65 -    /**
  286.66 -     * These accessors are temporarily supplied while sun.io
  286.67 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  286.68 -     * These facilitate sharing of conversion tables between the
  286.69 -     * two co-existing implementations. When sun.io converters
  286.70 -     * are made extinct these will be unncessary and should be removed
  286.71 -     */
  286.72 -
  286.73 -    public short[] getEncoderIndex1() {
  286.74 -        return Encoder.index1;
  286.75 -    }
  286.76 -
  286.77 -    public String getEncoderIndex2() {
  286.78 -        return Encoder.index2;
  286.79 -    }
  286.80 -
  286.81 -    private static class Decoder extends IBM297.Decoder {
  286.82 -            public Decoder(Charset cs) {
  286.83 -                super(cs);
  286.84 -            }
  286.85 -
  286.86 -            public char decode(int byteIndex) {
  286.87 -                return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex);
  286.88 -            }
  286.89 -    }
  286.90 -
  286.91 -    private static class Encoder extends SingleByteEncoder {
  286.92 -        public Encoder(Charset cs) {
  286.93 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
  286.94 -        }
  286.95 -
  286.96 -        private final static String index2 =
  286.97 -
  286.98 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
  286.99 -            "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" +
 286.100 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 286.101 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 286.102 -            "\u0040\u004F\u007F\u00B1\u005B\u006C\u0050\u007D" +
 286.103 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 286.104 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 286.105 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 286.106 -            "\u0044\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 286.107 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 286.108 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 286.109 -            "\u00E7\u00E8\u00E9\u0090\u0048\u00B5\u005F\u006D" +
 286.110 -            "\u00A0\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 286.111 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 286.112 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 286.113 -            "\u00A7\u00A8\u00A9\u0051\u00BB\u0054\u00BD\u0007" +
 286.114 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 286.115 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 286.116 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 286.117 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 286.118 -            "\u0041\u00AA\u00B0\u007B\u0000\u00B2\u00DD\u005A" +
 286.119 -            "\u00A1\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
 286.120 -            "\u004A\u008F\u00EA\u00FA\u00BE\u0079\u00B6\u00B3" +
 286.121 -            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
 286.122 -            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
 286.123 -            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
 286.124 -            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
 286.125 -            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
 286.126 -            "\u007C\u0045\u0042\u0046\u0043\u0047\u009C\u00E0" +
 286.127 -            "\u00D0\u00C0\u0052\u0053\u0058\u0055\u0056\u0057" +
 286.128 -            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
 286.129 -            "\u0070\u006A\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
 286.130 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.131 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.132 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.133 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.134 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.135 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.136 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.137 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.138 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.139 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.140 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.141 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.142 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.143 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.144 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.145 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.146 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.147 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.148 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.149 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.150 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.151 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.152 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.153 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.160 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.162 -            "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 286.172 -            "\u0000\u0000\u0000\u0000";
 286.173 -
 286.174 -        private final static short index1[] = {
 286.175 -            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 286.176 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 286.177 -            340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 286.178 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 286.179 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 286.180 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 286.181 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 286.182 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 286.183 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 286.184 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 286.185 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 286.186 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 286.187 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 286.188 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 286.189 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 286.190 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 286.191 -        };
 286.192 -    }
 286.193 -}
   287.1 --- a/src/share/classes/sun/nio/cs/ext/IBM1148.java	Wed Jan 14 21:35:03 2009 -0800
   287.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   287.3 @@ -1,190 +0,0 @@
   287.4 -/*
   287.5 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   287.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   287.7 - *
   287.8 - * This code is free software; you can redistribute it and/or modify it
   287.9 - * under the terms of the GNU General Public License version 2 only, as
  287.10 - * published by the Free Software Foundation.  Sun designates this
  287.11 - * particular file as subject to the "Classpath" exception as provided
  287.12 - * by Sun in the LICENSE file that accompanied this code.
  287.13 - *
  287.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  287.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  287.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  287.17 - * version 2 for more details (a copy is included in the LICENSE file that
  287.18 - * accompanied this code).
  287.19 - *
  287.20 - * You should have received a copy of the GNU General Public License version
  287.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  287.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  287.23 - *
  287.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  287.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  287.26 - * have any questions.
  287.27 - */
  287.28 -
  287.29 -package sun.nio.cs.ext;
  287.30 -
  287.31 -
  287.32 -import java.nio.charset.Charset;
  287.33 -import java.nio.charset.CharsetDecoder;
  287.34 -import java.nio.charset.CharsetEncoder;
  287.35 -import sun.nio.cs.StandardCharsets;
  287.36 -import sun.nio.cs.SingleByteDecoder;
  287.37 -import sun.nio.cs.SingleByteEncoder;
  287.38 -import sun.nio.cs.HistoricallyNamedCharset;
  287.39 -
  287.40 -public class IBM1148
  287.41 -    extends Charset
  287.42 -    implements HistoricallyNamedCharset
  287.43 -{
  287.44 -
  287.45 -    public IBM1148() {
  287.46 -        super("IBM01148", ExtendedCharsets.aliasesFor("IBM01148"));
  287.47 -    }
  287.48 -
  287.49 -    public String historicalName() {
  287.50 -        return "Cp1148";
  287.51 -    }
  287.52 -
  287.53 -    public boolean contains(Charset cs) {
  287.54 -        return (cs instanceof IBM1148);
  287.55 -    }
  287.56 -
  287.57 -    public CharsetDecoder newDecoder() {
  287.58 -        return new Decoder(this);
  287.59 -    }
  287.60 -
  287.61 -    public CharsetEncoder newEncoder() {
  287.62 -        return new Encoder(this);
  287.63 -    }
  287.64 -
  287.65 -    /**
  287.66 -     * These accessors are temporarily supplied while sun.io
  287.67 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  287.68 -     * These facilitate sharing of conversion tables between the
  287.69 -     * two co-existing implementations. When sun.io converters
  287.70 -     * are made extinct these will be unncessary and should be removed
  287.71 -     */
  287.72 -
  287.73 -    public short[] getEncoderIndex1() {
  287.74 -        return Encoder.index1;
  287.75 -    }
  287.76 -
  287.77 -    public String getEncoderIndex2() {
  287.78 -        return Encoder.index2;
  287.79 -    }
  287.80 -
  287.81 -    private static class Decoder extends IBM500.Decoder {
  287.82 -            public Decoder(Charset cs) {
  287.83 -                super(cs);
  287.84 -            }
  287.85 -
  287.86 -            public char decode(int byteIndex) {
  287.87 -                return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex);
  287.88 -            }
  287.89 -    }
  287.90 -
  287.91 -    private static class Encoder extends SingleByteEncoder {
  287.92 -        public Encoder(Charset cs) {
  287.93 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
  287.94 -        }
  287.95 -
  287.96 -        private final static String index2 =
  287.97 -
  287.98 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
  287.99 -            "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" +
 287.100 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 287.101 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 287.102 -            "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" +
 287.103 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 287.104 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 287.105 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 287.106 -            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 287.107 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 287.108 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 287.109 -            "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u005F\u006D" +
 287.110 -            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 287.111 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 287.112 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 287.113 -            "\u00A7\u00A8\u00A9\u00C0\u00BB\u00D0\u00A1\u0007" +
 287.114 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 287.115 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 287.116 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 287.117 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 287.118 -            "\u0041\u00AA\u00B0\u00B1\u0000\u00B2\u006A\u00B5" +
 287.119 -            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
 287.120 -            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
 287.121 -            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
 287.122 -            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
 287.123 -            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
 287.124 -            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
 287.125 -            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
 287.126 -            "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" +
 287.127 -            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
 287.128 -            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
 287.129 -            "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
 287.130 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.131 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.132 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.133 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.134 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.135 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.136 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.137 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.138 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.139 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.140 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.141 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.142 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.143 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.144 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.145 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.146 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.147 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.148 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.149 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.150 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.151 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.152 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.153 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.160 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.162 -            "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 287.172 -            "\u0000\u0000\u0000\u0000";
 287.173 -
 287.174 -        private final static short index1[] = {
 287.175 -            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 287.176 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 287.177 -            340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 287.178 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 287.179 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 287.180 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 287.181 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 287.182 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 287.183 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 287.184 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 287.185 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 287.186 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 287.187 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 287.188 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 287.189 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 287.190 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 287.191 -        };
 287.192 -    }
 287.193 -}
   288.1 --- a/src/share/classes/sun/nio/cs/ext/IBM1149.java	Wed Jan 14 21:35:03 2009 -0800
   288.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   288.3 @@ -1,190 +0,0 @@
   288.4 -/*
   288.5 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   288.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   288.7 - *
   288.8 - * This code is free software; you can redistribute it and/or modify it
   288.9 - * under the terms of the GNU General Public License version 2 only, as
  288.10 - * published by the Free Software Foundation.  Sun designates this
  288.11 - * particular file as subject to the "Classpath" exception as provided
  288.12 - * by Sun in the LICENSE file that accompanied this code.
  288.13 - *
  288.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  288.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  288.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  288.17 - * version 2 for more details (a copy is included in the LICENSE file that
  288.18 - * accompanied this code).
  288.19 - *
  288.20 - * You should have received a copy of the GNU General Public License version
  288.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  288.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  288.23 - *
  288.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  288.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  288.26 - * have any questions.
  288.27 - */
  288.28 -
  288.29 -package sun.nio.cs.ext;
  288.30 -
  288.31 -
  288.32 -import java.nio.charset.Charset;
  288.33 -import java.nio.charset.CharsetDecoder;
  288.34 -import java.nio.charset.CharsetEncoder;
  288.35 -import sun.nio.cs.StandardCharsets;
  288.36 -import sun.nio.cs.SingleByteDecoder;
  288.37 -import sun.nio.cs.SingleByteEncoder;
  288.38 -import sun.nio.cs.HistoricallyNamedCharset;
  288.39 -
  288.40 -public class IBM1149
  288.41 -    extends Charset
  288.42 -    implements HistoricallyNamedCharset
  288.43 -{
  288.44 -
  288.45 -    public IBM1149() {
  288.46 -        super("IBM01149", ExtendedCharsets.aliasesFor("IBM01149"));
  288.47 -    }
  288.48 -
  288.49 -    public String historicalName() {
  288.50 -        return "Cp1149";
  288.51 -    }
  288.52 -
  288.53 -    public boolean contains(Charset cs) {
  288.54 -        return (cs instanceof IBM1149);
  288.55 -    }
  288.56 -
  288.57 -    public CharsetDecoder newDecoder() {
  288.58 -        return new Decoder(this);
  288.59 -    }
  288.60 -
  288.61 -    public CharsetEncoder newEncoder() {
  288.62 -        return new Encoder(this);
  288.63 -    }
  288.64 -
  288.65 -    /**
  288.66 -     * These accessors are temporarily supplied while sun.io
  288.67 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  288.68 -     * These facilitate sharing of conversion tables between the
  288.69 -     * two co-existing implementations. When sun.io converters
  288.70 -     * are made extinct these will be unncessary and should be removed
  288.71 -     */
  288.72 -
  288.73 -    public short[] getEncoderIndex1() {
  288.74 -        return Encoder.index1;
  288.75 -    }
  288.76 -
  288.77 -    public String getEncoderIndex2() {
  288.78 -        return Encoder.index2;
  288.79 -    }
  288.80 -
  288.81 -    private static class Decoder extends IBM871.Decoder {
  288.82 -            public Decoder(Charset cs) {
  288.83 -                super(cs);
  288.84 -            }
  288.85 -
  288.86 -            public char decode(int byteIndex) {
  288.87 -                return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex);
  288.88 -            }
  288.89 -    }
  288.90 -
  288.91 -    private static class Encoder extends SingleByteEncoder {
  288.92 -        public Encoder(Charset cs) {
  288.93 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
  288.94 -        }
  288.95 -
  288.96 -        private final static String index2 =
  288.97 -
  288.98 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
  288.99 -            "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" +
 288.100 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 288.101 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 288.102 -            "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" +
 288.103 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 288.104 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 288.105 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 288.106 -            "\u00AC\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 288.107 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 288.108 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 288.109 -            "\u00E7\u00E8\u00E9\u00AE\u00BE\u009E\u00EC\u006D" +
 288.110 -            "\u008C\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 288.111 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 288.112 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 288.113 -            "\u00A7\u00A8\u00A9\u008E\u00BB\u009C\u00CC\u0007" +
 288.114 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 288.115 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 288.116 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 288.117 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 288.118 -            "\u0041\u00AA\u00B0\u00B1\u0000\u00B2\u006A\u00B5" +
 288.119 -            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
 288.120 -            "\u0090\u008F\u00EA\u00FA\u00E0\u00A0\u00B6\u00B3" +
 288.121 -            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
 288.122 -            "\u0064\u0065\u0062\u0066\u0063\u0067\u005A\u0068" +
 288.123 -            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
 288.124 -            "\u007C\u0069\u00ED\u00EE\u00EB\u00EF\u005F\u00BF" +
 288.125 -            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u004A\u0059" +
 288.126 -            "\u0044\u0045\u0042\u0046\u0043\u0047\u00D0\u0048" +
 288.127 -            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
 288.128 -            "\u0079\u0049\u00CD\u00CE\u00CB\u00CF\u00A1\u00E1" +
 288.129 -            "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u00C0\u00DF" +
 288.130 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.131 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.132 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.133 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.134 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.135 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.136 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.137 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.138 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.139 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.140 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.141 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.142 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.143 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.144 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.145 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.146 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.147 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.148 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.149 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.150 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.151 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.152 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.153 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.160 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.162 -            "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 288.172 -            "\u0000\u0000\u0000\u0000";
 288.173 -
 288.174 -        private final static short index1[] = {
 288.175 -            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 288.176 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 288.177 -            340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 288.178 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 288.179 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 288.180 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 288.181 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 288.182 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 288.183 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 288.184 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 288.185 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 288.186 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 288.187 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 288.188 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 288.189 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 288.190 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 288.191 -        };
 288.192 -    }
 288.193 -}
   289.1 --- a/src/share/classes/sun/nio/cs/ext/IBM273.java	Wed Jan 14 21:35:03 2009 -0800
   289.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   289.3 @@ -1,221 +0,0 @@
   289.4 -
   289.5 -/*
   289.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   289.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   289.8 - *
   289.9 - * This code is free software; you can redistribute it and/or modify it
  289.10 - * under the terms of the GNU General Public License version 2 only, as
  289.11 - * published by the Free Software Foundation.  Sun designates this
  289.12 - * particular file as subject to the "Classpath" exception as provided
  289.13 - * by Sun in the LICENSE file that accompanied this code.
  289.14 - *
  289.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  289.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  289.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  289.18 - * version 2 for more details (a copy is included in the LICENSE file that
  289.19 - * accompanied this code).
  289.20 - *
  289.21 - * You should have received a copy of the GNU General Public License version
  289.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  289.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  289.24 - *
  289.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  289.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  289.27 - * have any questions.
  289.28 - */
  289.29 -
  289.30 -package sun.nio.cs.ext;
  289.31 -
  289.32 -
  289.33 -import java.nio.charset.Charset;
  289.34 -import java.nio.charset.CharsetDecoder;
  289.35 -import java.nio.charset.CharsetEncoder;
  289.36 -import sun.nio.cs.StandardCharsets;
  289.37 -import sun.nio.cs.SingleByteDecoder;
  289.38 -import sun.nio.cs.SingleByteEncoder;
  289.39 -import sun.nio.cs.HistoricallyNamedCharset;
  289.40 -
  289.41 -public class IBM273
  289.42 -    extends Charset
  289.43 -    implements HistoricallyNamedCharset
  289.44 -{
  289.45 -
  289.46 -    public IBM273() {
  289.47 -        super("IBM273", ExtendedCharsets.aliasesFor("IBM273"));
  289.48 -    }
  289.49 -
  289.50 -    public String historicalName() {
  289.51 -        return "Cp273";
  289.52 -    }
  289.53 -
  289.54 -    public boolean contains(Charset cs) {
  289.55 -        return (cs instanceof IBM273);
  289.56 -    }
  289.57 -
  289.58 -    public CharsetDecoder newDecoder() {
  289.59 -        return new Decoder(this);
  289.60 -    }
  289.61 -
  289.62 -    public CharsetEncoder newEncoder() {
  289.63 -        return new Encoder(this);
  289.64 -    }
  289.65 -
  289.66 -
  289.67 -    /**
  289.68 -     * These accessors are temporarily supplied while sun.io
  289.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  289.70 -     * These facilitate sharing of conversion tables between the
  289.71 -     * two co-existing implementations. When sun.io converters
  289.72 -     * are made extinct these will be unncessary and should be removed
  289.73 -     */
  289.74 -
  289.75 -    public String getDecoderSingleByteMappings() {
  289.76 -        return Decoder.byteToCharTable;
  289.77 -
  289.78 -    }
  289.79 -
  289.80 -    public short[] getEncoderIndex1() {
  289.81 -        return Encoder.index1;
  289.82 -
  289.83 -    }
  289.84 -    public String getEncoderIndex2() {
  289.85 -        return Encoder.index2;
  289.86 -
  289.87 -    }
  289.88 -
  289.89 -    protected static class Decoder extends SingleByteDecoder {
  289.90 -            public Decoder(Charset cs) {
  289.91 -                super(cs, byteToCharTable);
  289.92 -        }
  289.93 -
  289.94 -        private final static String byteToCharTable =
  289.95 -
  289.96 -            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
  289.97 -            "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" +        // 0x88 - 0x8F
  289.98 -            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
  289.99 -            "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" +        // 0x98 - 0x9F
 289.100 -            "\u00B5\u00DF\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
 289.101 -            "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" +        // 0xA8 - 0xAF
 289.102 -            "\u00A2\u00A3\u00A5\u00B7\u00A9\u0040\u00B6\u00BC" +        // 0xB0 - 0xB7
 289.103 -            "\u00BD\u00BE\u00AC\u007C\u00AF\u00A8\u00B4\u00D7" +        // 0xB8 - 0xBF
 289.104 -            "\u00E4\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
 289.105 -            "\u0048\u0049\u00AD\u00F4\u00A6\u00F2\u00F3\u00F5" +        // 0xC8 - 0xCF
 289.106 -            "\u00FC\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
 289.107 -            "\u0051\u0052\u00B9\u00FB\u007D\u00F9\u00FA\u00FF" +        // 0xD8 - 0xDF
 289.108 -            "\u00D6\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +        // 0xE0 - 0xE7
 289.109 -            "\u0059\u005A\u00B2\u00D4\\\u00D2\u00D3\u00D5" +    // 0xE8 - 0xEF
 289.110 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
 289.111 -            "\u0038\u0039\u00B3\u00DB\u005D\u00D9\u00DA\u009F" +        // 0xF8 - 0xFF
 289.112 -            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
 289.113 -            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
 289.114 -            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
 289.115 -            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 289.116 -            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
 289.117 -            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
 289.118 -            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
 289.119 -            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
 289.120 -            "\u0020\u00A0\u00E2\u007B\u00E0\u00E1\u00E3\u00E5" +        // 0x40 - 0x47
 289.121 -            "\u00E7\u00F1\u00C4\u002E\u003C\u0028\u002B\u0021" +        // 0x48 - 0x4F
 289.122 -            "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
 289.123 -            "\u00EC\u007E\u00DC\u0024\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
 289.124 -            "\u002D\u002F\u00C2\u005B\u00C0\u00C1\u00C3\u00C5" +        // 0x60 - 0x67
 289.125 -            "\u00C7\u00D1\u00F6\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
 289.126 -            "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +        // 0x70 - 0x77
 289.127 -            "\u00CC\u0060\u003A\u0023\u00A7\'\u003D\"";         // 0x78 - 0x7F
 289.128 -
 289.129 -    }
 289.130 -
 289.131 -    private static class Encoder extends SingleByteEncoder {
 289.132 -            public Encoder(Charset cs) {
 289.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 289.134 -            }
 289.135 -
 289.136 -            private final static String index2 =
 289.137 -
 289.138 -
 289.139 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
 289.140 -            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
 289.141 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 289.142 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 289.143 -            "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" +
 289.144 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 289.145 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 289.146 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 289.147 -            "\u00B5\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 289.148 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 289.149 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 289.150 -            "\u00E7\u00E8\u00E9\u0063\u00EC\u00FC\u005F\u006D" +
 289.151 -            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 289.152 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 289.153 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 289.154 -            "\u00A7\u00A8\u00A9\u0043\u00BB\u00DC\u0059\u0007" +
 289.155 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 289.156 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 289.157 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 289.158 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 289.159 -            "\u0041\u00AA\u00B0\u00B1\u009F\u00B2\u00CC\u007C" +
 289.160 -            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
 289.161 -            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
 289.162 -            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
 289.163 -            "\u0064\u0065\u0062\u0066\u004A\u0067\u009E\u0068" +
 289.164 -            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
 289.165 -            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00E0\u00BF" +
 289.166 -            "\u0080\u00FD\u00FE\u00FB\u005A\u00AD\u00AE\u00A1" +
 289.167 -            "\u0044\u0045\u0042\u0046\u00C0\u0047\u009C\u0048" +
 289.168 -            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
 289.169 -            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u006A\u00E1" +
 289.170 -            "\u0070\u00DD\u00DE\u00DB\u00D0\u008D\u008E\u00DF" +
 289.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 289.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 289.203 -
 289.204 -    private final static short index1[] = {
 289.205 -            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 289.206 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 289.207 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 289.208 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 289.209 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 289.210 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 289.211 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 289.212 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 289.213 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 289.214 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 289.215 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 289.216 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 289.217 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 289.218 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 289.219 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 289.220 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 289.221 -
 289.222 -        };
 289.223 -    }
 289.224 -}
   290.1 --- a/src/share/classes/sun/nio/cs/ext/IBM277.java	Wed Jan 14 21:35:03 2009 -0800
   290.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   290.3 @@ -1,221 +0,0 @@
   290.4 -
   290.5 -/*
   290.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   290.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   290.8 - *
   290.9 - * This code is free software; you can redistribute it and/or modify it
  290.10 - * under the terms of the GNU General Public License version 2 only, as
  290.11 - * published by the Free Software Foundation.  Sun designates this
  290.12 - * particular file as subject to the "Classpath" exception as provided
  290.13 - * by Sun in the LICENSE file that accompanied this code.
  290.14 - *
  290.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  290.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  290.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  290.18 - * version 2 for more details (a copy is included in the LICENSE file that
  290.19 - * accompanied this code).
  290.20 - *
  290.21 - * You should have received a copy of the GNU General Public License version
  290.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  290.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  290.24 - *
  290.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  290.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  290.27 - * have any questions.
  290.28 - */
  290.29 -
  290.30 -package sun.nio.cs.ext;
  290.31 -
  290.32 -
  290.33 -import java.nio.charset.Charset;
  290.34 -import java.nio.charset.CharsetDecoder;
  290.35 -import java.nio.charset.CharsetEncoder;
  290.36 -import sun.nio.cs.StandardCharsets;
  290.37 -import sun.nio.cs.SingleByteDecoder;
  290.38 -import sun.nio.cs.SingleByteEncoder;
  290.39 -import sun.nio.cs.HistoricallyNamedCharset;
  290.40 -
  290.41 -public class IBM277
  290.42 -    extends Charset
  290.43 -    implements HistoricallyNamedCharset
  290.44 -{
  290.45 -
  290.46 -    public IBM277() {
  290.47 -        super("IBM277", ExtendedCharsets.aliasesFor("IBM277"));
  290.48 -    }
  290.49 -
  290.50 -    public String historicalName() {
  290.51 -        return "Cp277";
  290.52 -    }
  290.53 -
  290.54 -    public boolean contains(Charset cs) {
  290.55 -        return (cs instanceof IBM277);
  290.56 -    }
  290.57 -
  290.58 -    public CharsetDecoder newDecoder() {
  290.59 -        return new Decoder(this);
  290.60 -    }
  290.61 -
  290.62 -    public CharsetEncoder newEncoder() {
  290.63 -        return new Encoder(this);
  290.64 -    }
  290.65 -
  290.66 -
  290.67 -    /**
  290.68 -     * These accessors are temporarily supplied while sun.io
  290.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  290.70 -     * These facilitate sharing of conversion tables between the
  290.71 -     * two co-existing implementations. When sun.io converters
  290.72 -     * are made extinct these will be unncessary and should be removed
  290.73 -     */
  290.74 -
  290.75 -    public String getDecoderSingleByteMappings() {
  290.76 -        return Decoder.byteToCharTable;
  290.77 -
  290.78 -    }
  290.79 -
  290.80 -    public short[] getEncoderIndex1() {
  290.81 -        return Encoder.index1;
  290.82 -
  290.83 -    }
  290.84 -    public String getEncoderIndex2() {
  290.85 -        return Encoder.index2;
  290.86 -
  290.87 -    }
  290.88 -
  290.89 -    protected static class Decoder extends SingleByteDecoder {
  290.90 -            public Decoder(Charset cs) {
  290.91 -                super(cs, byteToCharTable);
  290.92 -        }
  290.93 -
  290.94 -        private final static String byteToCharTable =
  290.95 -
  290.96 -            "\u0040\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
  290.97 -            "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" +        // 0x88 - 0x8F
  290.98 -            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
  290.99 -            "\u0071\u0072\u00AA\u00BA\u007B\u00B8\u005B\u005D" +        // 0x98 - 0x9F
 290.100 -            "\u00B5\u00FC\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
 290.101 -            "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" +        // 0xA8 - 0xAF
 290.102 -            "\u00A2\u00A3\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" +        // 0xB0 - 0xB7
 290.103 -            "\u00BD\u00BE\u00AC\u007C\u00AF\u00A8\u00B4\u00D7" +        // 0xB8 - 0xBF
 290.104 -            "\u00E6\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
 290.105 -            "\u0048\u0049\u00AD\u00F4\u00F6\u00F2\u00F3\u00F5" +        // 0xC8 - 0xCF
 290.106 -            "\u00E5\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
 290.107 -            "\u0051\u0052\u00B9\u00FB\u007E\u00F9\u00FA\u00FF" +        // 0xD8 - 0xDF
 290.108 -            "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
 290.109 -            "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" +        // 0xE8 - 0xEF
 290.110 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
 290.111 -            "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" +        // 0xF8 - 0xFF
 290.112 -            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
 290.113 -            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
 290.114 -            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
 290.115 -            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 290.116 -            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
 290.117 -            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
 290.118 -            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
 290.119 -            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
 290.120 -            "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u007D" +        // 0x40 - 0x47
 290.121 -            "\u00E7\u00F1\u0023\u002E\u003C\u0028\u002B\u0021" +        // 0x48 - 0x4F
 290.122 -            "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
 290.123 -            "\u00EC\u00DF\u00A4\u00C5\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
 290.124 -            "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u0024" +        // 0x60 - 0x67
 290.125 -            "\u00C7\u00D1\u00F8\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
 290.126 -            "\u00A6\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +        // 0x70 - 0x77
 290.127 -            "\u00CC\u0060\u003A\u00C6\u00D8\'\u003D\"";         // 0x78 - 0x7F
 290.128 -
 290.129 -    }
 290.130 -
 290.131 -    private static class Encoder extends SingleByteEncoder {
 290.132 -            public Encoder(Charset cs) {
 290.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 290.134 -            }
 290.135 -
 290.136 -            private final static String index2 =
 290.137 -
 290.138 -
 290.139 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
 290.140 -            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
 290.141 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 290.142 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 290.143 -            "\u0040\u004F\u007F\u004A\u0067\u006C\u0050\u007D" +
 290.144 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 290.145 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 290.146 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 290.147 -            "\u0080\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 290.148 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 290.149 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 290.150 -            "\u00E7\u00E8\u00E9\u009E\u00E0\u009F\u005F\u006D" +
 290.151 -            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 290.152 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 290.153 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 290.154 -            "\u00A7\u00A8\u00A9\u009C\u00BB\u0047\u00DC\u0007" +
 290.155 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 290.156 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 290.157 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 290.158 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 290.159 -            "\u0041\u00AA\u00B0\u00B1\u005A\u00B2\u0070\u00B5" +
 290.160 -            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
 290.161 -            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
 290.162 -            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
 290.163 -            "\u0064\u0065\u0062\u0066\u0063\u005B\u007B\u0068" +
 290.164 -            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
 290.165 -            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
 290.166 -            "\u007C\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
 290.167 -            "\u0044\u0045\u0042\u0046\u0043\u00D0\u00C0\u0048" +
 290.168 -            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
 290.169 -            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
 290.170 -            "\u006A\u00DD\u00DE\u00DB\u00A1\u008D\u008E\u00DF" +
 290.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 290.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 290.203 -
 290.204 -    private final static short index1[] = {
 290.205 -            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 290.206 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 290.207 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 290.208 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 290.209 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 290.210 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 290.211 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 290.212 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 290.213 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 290.214 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 290.215 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 290.216 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 290.217 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 290.218 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 290.219 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 290.220 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 290.221 -
 290.222 -        };
 290.223 -    }
 290.224 -}
   291.1 --- a/src/share/classes/sun/nio/cs/ext/IBM278.java	Wed Jan 14 21:35:03 2009 -0800
   291.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   291.3 @@ -1,221 +0,0 @@
   291.4 -
   291.5 -/*
   291.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   291.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   291.8 - *
   291.9 - * This code is free software; you can redistribute it and/or modify it
  291.10 - * under the terms of the GNU General Public License version 2 only, as
  291.11 - * published by the Free Software Foundation.  Sun designates this
  291.12 - * particular file as subject to the "Classpath" exception as provided
  291.13 - * by Sun in the LICENSE file that accompanied this code.
  291.14 - *
  291.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  291.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  291.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  291.18 - * version 2 for more details (a copy is included in the LICENSE file that
  291.19 - * accompanied this code).
  291.20 - *
  291.21 - * You should have received a copy of the GNU General Public License version
  291.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  291.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  291.24 - *
  291.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  291.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  291.27 - * have any questions.
  291.28 - */
  291.29 -
  291.30 -package sun.nio.cs.ext;
  291.31 -
  291.32 -
  291.33 -import java.nio.charset.Charset;
  291.34 -import java.nio.charset.CharsetDecoder;
  291.35 -import java.nio.charset.CharsetEncoder;
  291.36 -import sun.nio.cs.StandardCharsets;
  291.37 -import sun.nio.cs.SingleByteDecoder;
  291.38 -import sun.nio.cs.SingleByteEncoder;
  291.39 -import sun.nio.cs.HistoricallyNamedCharset;
  291.40 -
  291.41 -public class IBM278
  291.42 -    extends Charset
  291.43 -    implements HistoricallyNamedCharset
  291.44 -{
  291.45 -
  291.46 -    public IBM278() {
  291.47 -        super("IBM278", ExtendedCharsets.aliasesFor("IBM278"));
  291.48 -    }
  291.49 -
  291.50 -    public String historicalName() {
  291.51 -        return "Cp278";
  291.52 -    }
  291.53 -
  291.54 -    public boolean contains(Charset cs) {
  291.55 -        return (cs instanceof IBM278);
  291.56 -    }
  291.57 -
  291.58 -    public CharsetDecoder newDecoder() {
  291.59 -        return new Decoder(this);
  291.60 -    }
  291.61 -
  291.62 -    public CharsetEncoder newEncoder() {
  291.63 -        return new Encoder(this);
  291.64 -    }
  291.65 -
  291.66 -
  291.67 -    /**
  291.68 -     * These accessors are temporarily supplied while sun.io
  291.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  291.70 -     * These facilitate sharing of conversion tables between the
  291.71 -     * two co-existing implementations. When sun.io converters
  291.72 -     * are made extinct these will be unncessary and should be removed
  291.73 -     */
  291.74 -
  291.75 -    public String getDecoderSingleByteMappings() {
  291.76 -        return Decoder.byteToCharTable;
  291.77 -
  291.78 -    }
  291.79 -
  291.80 -    public short[] getEncoderIndex1() {
  291.81 -        return Encoder.index1;
  291.82 -
  291.83 -    }
  291.84 -    public String getEncoderIndex2() {
  291.85 -        return Encoder.index2;
  291.86 -
  291.87 -    }
  291.88 -
  291.89 -    protected static class Decoder extends SingleByteDecoder {
  291.90 -            public Decoder(Charset cs) {
  291.91 -                super(cs, byteToCharTable);
  291.92 -        }
  291.93 -
  291.94 -        private final static String byteToCharTable =
  291.95 -
  291.96 -            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
  291.97 -            "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" +        // 0x88 - 0x8F
  291.98 -            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
  291.99 -            "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u005D" +        // 0x98 - 0x9F
 291.100 -            "\u00B5\u00FC\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
 291.101 -            "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" +        // 0xA8 - 0xAF
 291.102 -            "\u00A2\u00A3\u00A5\u00B7\u00A9\u005B\u00B6\u00BC" +        // 0xB0 - 0xB7
 291.103 -            "\u00BD\u00BE\u00AC\u007C\u00AF\u00A8\u00B4\u00D7" +        // 0xB8 - 0xBF
 291.104 -            "\u00E4\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
 291.105 -            "\u0048\u0049\u00AD\u00F4\u00A6\u00F2\u00F3\u00F5" +        // 0xC8 - 0xCF
 291.106 -            "\u00E5\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
 291.107 -            "\u0051\u0052\u00B9\u00FB\u007E\u00F9\u00FA\u00FF" +        // 0xD8 - 0xDF
 291.108 -            "\u00C9\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +        // 0xE0 - 0xE7
 291.109 -            "\u0059\u005A\u00B2\u00D4\u0040\u00D2\u00D3\u00D5" +        // 0xE8 - 0xEF
 291.110 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
 291.111 -            "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" +        // 0xF8 - 0xFF
 291.112 -            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
 291.113 -            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
 291.114 -            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
 291.115 -            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 291.116 -            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
 291.117 -            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
 291.118 -            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
 291.119 -            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
 291.120 -            "\u0020\u00A0\u00E2\u007B\u00E0\u00E1\u00E3\u007D" +        // 0x40 - 0x47
 291.121 -            "\u00E7\u00F1\u00A7\u002E\u003C\u0028\u002B\u0021" +        // 0x48 - 0x4F
 291.122 -            "\u0026\u0060\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
 291.123 -            "\u00EC\u00DF\u00A4\u00C5\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
 291.124 -            "\u002D\u002F\u00C2\u0023\u00C0\u00C1\u00C3\u0024" +        // 0x60 - 0x67
 291.125 -            "\u00C7\u00D1\u00F6\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
 291.126 -            "\u00F8\\\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +    // 0x70 - 0x77
 291.127 -            "\u00CC\u00E9\u003A\u00C4\u00D6\'\u003D\"";         // 0x78 - 0x7F
 291.128 -
 291.129 -    }
 291.130 -
 291.131 -    private static class Encoder extends SingleByteEncoder {
 291.132 -            public Encoder(Charset cs) {
 291.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 291.134 -            }
 291.135 -
 291.136 -            private final static String index2 =
 291.137 -
 291.138 -
 291.139 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
 291.140 -            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
 291.141 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 291.142 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 291.143 -            "\u0040\u004F\u007F\u0063\u0067\u006C\u0050\u007D" +
 291.144 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 291.145 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 291.146 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 291.147 -            "\u00EC\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 291.148 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 291.149 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 291.150 -            "\u00E7\u00E8\u00E9\u00B5\u0071\u009F\u005F\u006D" +
 291.151 -            "\u0051\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 291.152 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 291.153 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 291.154 -            "\u00A7\u00A8\u00A9\u0043\u00BB\u0047\u00DC\u0007" +
 291.155 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 291.156 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 291.157 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 291.158 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 291.159 -            "\u0041\u00AA\u00B0\u00B1\u005A\u00B2\u00CC\u004A" +
 291.160 -            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
 291.161 -            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
 291.162 -            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
 291.163 -            "\u0064\u0065\u0062\u0066\u007B\u005B\u009E\u0068" +
 291.164 -            "\u0074\u00E0\u0072\u0073\u0078\u0075\u0076\u0077" +
 291.165 -            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u007C\u00BF" +
 291.166 -            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
 291.167 -            "\u0044\u0045\u0042\u0046\u00C0\u00D0\u009C\u0048" +
 291.168 -            "\u0054\u0079\u0052\u0053\u0058\u0055\u0056\u0057" +
 291.169 -            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u006A\u00E1" +
 291.170 -            "\u0070\u00DD\u00DE\u00DB\u00A1\u008D\u008E\u00DF" +
 291.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 291.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 291.203 -
 291.204 -    private final static short index1[] = {
 291.205 -            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 291.206 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 291.207 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 291.208 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 291.209 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 291.210 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 291.211 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 291.212 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 291.213 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 291.214 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 291.215 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 291.216 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 291.217 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 291.218 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 291.219 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 291.220 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 291.221 -
 291.222 -        };
 291.223 -    }
 291.224 -}
   292.1 --- a/src/share/classes/sun/nio/cs/ext/IBM280.java	Wed Jan 14 21:35:03 2009 -0800
   292.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   292.3 @@ -1,221 +0,0 @@
   292.4 -
   292.5 -/*
   292.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   292.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   292.8 - *
   292.9 - * This code is free software; you can redistribute it and/or modify it
  292.10 - * under the terms of the GNU General Public License version 2 only, as
  292.11 - * published by the Free Software Foundation.  Sun designates this
  292.12 - * particular file as subject to the "Classpath" exception as provided
  292.13 - * by Sun in the LICENSE file that accompanied this code.
  292.14 - *
  292.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  292.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  292.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  292.18 - * version 2 for more details (a copy is included in the LICENSE file that
  292.19 - * accompanied this code).
  292.20 - *
  292.21 - * You should have received a copy of the GNU General Public License version
  292.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  292.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  292.24 - *
  292.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  292.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  292.27 - * have any questions.
  292.28 - */
  292.29 -
  292.30 -package sun.nio.cs.ext;
  292.31 -
  292.32 -
  292.33 -import java.nio.charset.Charset;
  292.34 -import java.nio.charset.CharsetDecoder;
  292.35 -import java.nio.charset.CharsetEncoder;
  292.36 -import sun.nio.cs.StandardCharsets;
  292.37 -import sun.nio.cs.SingleByteDecoder;
  292.38 -import sun.nio.cs.SingleByteEncoder;
  292.39 -import sun.nio.cs.HistoricallyNamedCharset;
  292.40 -
  292.41 -public class IBM280
  292.42 -    extends Charset
  292.43 -    implements HistoricallyNamedCharset
  292.44 -{
  292.45 -
  292.46 -    public IBM280() {
  292.47 -        super("IBM280", ExtendedCharsets.aliasesFor("IBM280"));
  292.48 -    }
  292.49 -
  292.50 -    public String historicalName() {
  292.51 -        return "Cp280";
  292.52 -    }
  292.53 -
  292.54 -    public boolean contains(Charset cs) {
  292.55 -        return (cs instanceof IBM280);
  292.56 -    }
  292.57 -
  292.58 -    public CharsetDecoder newDecoder() {
  292.59 -        return new Decoder(this);
  292.60 -    }
  292.61 -
  292.62 -    public CharsetEncoder newEncoder() {
  292.63 -        return new Encoder(this);
  292.64 -    }
  292.65 -
  292.66 -
  292.67 -    /**
  292.68 -     * These accessors are temporarily supplied while sun.io
  292.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  292.70 -     * These facilitate sharing of conversion tables between the
  292.71 -     * two co-existing implementations. When sun.io converters
  292.72 -     * are made extinct these will be unncessary and should be removed
  292.73 -     */
  292.74 -
  292.75 -    public String getDecoderSingleByteMappings() {
  292.76 -        return Decoder.byteToCharTable;
  292.77 -
  292.78 -    }
  292.79 -
  292.80 -    public short[] getEncoderIndex1() {
  292.81 -        return Encoder.index1;
  292.82 -
  292.83 -    }
  292.84 -    public String getEncoderIndex2() {
  292.85 -        return Encoder.index2;
  292.86 -
  292.87 -    }
  292.88 -
  292.89 -    protected static class Decoder extends SingleByteDecoder {
  292.90 -            public Decoder(Charset cs) {
  292.91 -                super(cs, byteToCharTable);
  292.92 -        }
  292.93 -
  292.94 -        private final static String byteToCharTable =
  292.95 -
  292.96 -            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
  292.97 -            "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" +        // 0x88 - 0x8F
  292.98 -            "\u005B\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
  292.99 -            "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" +        // 0x98 - 0x9F
 292.100 -            "\u00B5\u00EC\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
 292.101 -            "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" +        // 0xA8 - 0xAF
 292.102 -            "\u00A2\u0023\u00A5\u00B7\u00A9\u0040\u00B6\u00BC" +        // 0xB0 - 0xB7
 292.103 -            "\u00BD\u00BE\u00AC\u007C\u00AF\u00A8\u00B4\u00D7" +        // 0xB8 - 0xBF
 292.104 -            "\u00E0\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
 292.105 -            "\u0048\u0049\u00AD\u00F4\u00F6\u00A6\u00F3\u00F5" +        // 0xC8 - 0xCF
 292.106 -            "\u00E8\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
 292.107 -            "\u0051\u0052\u00B9\u00FB\u00FC\u0060\u00FA\u00FF" +        // 0xD8 - 0xDF
 292.108 -            "\u00E7\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +        // 0xE0 - 0xE7
 292.109 -            "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" +        // 0xE8 - 0xEF
 292.110 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
 292.111 -            "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" +        // 0xF8 - 0xFF
 292.112 -            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
 292.113 -            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
 292.114 -            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
 292.115 -            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 292.116 -            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
 292.117 -            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
 292.118 -            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
 292.119 -            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
 292.120 -            "\u0020\u00A0\u00E2\u00E4\u007B\u00E1\u00E3\u00E5" +        // 0x40 - 0x47
 292.121 -            "\\\u00F1\u00B0\u002E\u003C\u0028\u002B\u0021" +    // 0x48 - 0x4F
 292.122 -            "\u0026\u005D\u00EA\u00EB\u007D\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
 292.123 -            "\u007E\u00DF\u00E9\u0024\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
 292.124 -            "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" +        // 0x60 - 0x67
 292.125 -            "\u00C7\u00D1\u00F2\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
 292.126 -            "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +        // 0x70 - 0x77
 292.127 -            "\u00CC\u00F9\u003A\u00A3\u00A7\'\u003D\"";         // 0x78 - 0x7F
 292.128 -
 292.129 -    }
 292.130 -
 292.131 -    private static class Encoder extends SingleByteEncoder {
 292.132 -            public Encoder(Charset cs) {
 292.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 292.134 -            }
 292.135 -
 292.136 -            private final static String index2 =
 292.137 -
 292.138 -
 292.139 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
 292.140 -            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
 292.141 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 292.142 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 292.143 -            "\u0040\u004F\u007F\u00B1\u005B\u006C\u0050\u007D" +
 292.144 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 292.145 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 292.146 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 292.147 -            "\u00B5\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 292.148 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 292.149 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 292.150 -            "\u00E7\u00E8\u00E9\u0090\u0048\u0051\u005F\u006D" +
 292.151 -            "\u00DD\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 292.152 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 292.153 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 292.154 -            "\u00A7\u00A8\u00A9\u0044\u00BB\u0054\u0058\u0007" +
 292.155 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 292.156 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 292.157 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 292.158 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 292.159 -            "\u0041\u00AA\u00B0\u007B\u009F\u00B2\u00CD\u007C" +
 292.160 -            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
 292.161 -            "\u004A\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
 292.162 -            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
 292.163 -            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
 292.164 -            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
 292.165 -            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
 292.166 -            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
 292.167 -            "\u00C0\u0045\u0042\u0046\u0043\u0047\u009C\u00E0" +
 292.168 -            "\u00D0\u005A\u0052\u0053\u00A1\u0055\u0056\u0057" +
 292.169 -            "\u008C\u0049\u006A\u00CE\u00CB\u00CF\u00CC\u00E1" +
 292.170 -            "\u0070\u0079\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
 292.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 292.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 292.203 -
 292.204 -    private final static short index1[] = {
 292.205 -            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 292.206 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 292.207 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 292.208 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 292.209 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 292.210 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 292.211 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 292.212 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 292.213 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 292.214 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 292.215 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 292.216 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 292.217 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 292.218 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 292.219 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 292.220 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 292.221 -
 292.222 -        };
 292.223 -    }
 292.224 -}
   293.1 --- a/src/share/classes/sun/nio/cs/ext/IBM284.java	Wed Jan 14 21:35:03 2009 -0800
   293.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   293.3 @@ -1,221 +0,0 @@
   293.4 -
   293.5 -/*
   293.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   293.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   293.8 - *
   293.9 - * This code is free software; you can redistribute it and/or modify it
  293.10 - * under the terms of the GNU General Public License version 2 only, as
  293.11 - * published by the Free Software Foundation.  Sun designates this
  293.12 - * particular file as subject to the "Classpath" exception as provided
  293.13 - * by Sun in the LICENSE file that accompanied this code.
  293.14 - *
  293.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  293.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  293.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  293.18 - * version 2 for more details (a copy is included in the LICENSE file that
  293.19 - * accompanied this code).
  293.20 - *
  293.21 - * You should have received a copy of the GNU General Public License version
  293.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  293.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  293.24 - *
  293.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  293.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  293.27 - * have any questions.
  293.28 - */
  293.29 -
  293.30 -package sun.nio.cs.ext;
  293.31 -
  293.32 -
  293.33 -import java.nio.charset.Charset;
  293.34 -import java.nio.charset.CharsetDecoder;
  293.35 -import java.nio.charset.CharsetEncoder;
  293.36 -import sun.nio.cs.StandardCharsets;
  293.37 -import sun.nio.cs.SingleByteDecoder;
  293.38 -import sun.nio.cs.SingleByteEncoder;
  293.39 -import sun.nio.cs.HistoricallyNamedCharset;
  293.40 -
  293.41 -public class IBM284
  293.42 -    extends Charset
  293.43 -    implements HistoricallyNamedCharset
  293.44 -{
  293.45 -
  293.46 -    public IBM284() {
  293.47 -        super("IBM284", ExtendedCharsets.aliasesFor("IBM284"));
  293.48 -    }
  293.49 -
  293.50 -    public String historicalName() {
  293.51 -        return "Cp284";
  293.52 -    }
  293.53 -
  293.54 -    public boolean contains(Charset cs) {
  293.55 -        return (cs instanceof IBM284);
  293.56 -    }
  293.57 -
  293.58 -    public CharsetDecoder newDecoder() {
  293.59 -        return new Decoder(this);
  293.60 -    }
  293.61 -
  293.62 -    public CharsetEncoder newEncoder() {
  293.63 -        return new Encoder(this);
  293.64 -    }
  293.65 -
  293.66 -
  293.67 -    /**
  293.68 -     * These accessors are temporarily supplied while sun.io
  293.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  293.70 -     * These facilitate sharing of conversion tables between the
  293.71 -     * two co-existing implementations. When sun.io converters
  293.72 -     * are made extinct these will be unncessary and should be removed
  293.73 -     */
  293.74 -
  293.75 -    public String getDecoderSingleByteMappings() {
  293.76 -        return Decoder.byteToCharTable;
  293.77 -
  293.78 -    }
  293.79 -
  293.80 -    public short[] getEncoderIndex1() {
  293.81 -        return Encoder.index1;
  293.82 -
  293.83 -    }
  293.84 -    public String getEncoderIndex2() {
  293.85 -        return Encoder.index2;
  293.86 -
  293.87 -    }
  293.88 -
  293.89 -    protected static class Decoder extends SingleByteDecoder {
  293.90 -            public Decoder(Charset cs) {
  293.91 -                super(cs, byteToCharTable);
  293.92 -        }
  293.93 -
  293.94 -        private final static String byteToCharTable =
  293.95 -
  293.96 -            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
  293.97 -            "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" +        // 0x88 - 0x8F
  293.98 -            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
  293.99 -            "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" +        // 0x98 - 0x9F
 293.100 -            "\u00B5\u00A8\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
 293.101 -            "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" +        // 0xA8 - 0xAF
 293.102 -            "\u00A2\u00A3\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" +        // 0xB0 - 0xB7
 293.103 -            "\u00BD\u00BE\u005E\u0021\u00AF\u007E\u00B4\u00D7" +        // 0xB8 - 0xBF
 293.104 -            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
 293.105 -            "\u0048\u0049\u00AD\u00F4\u00F6\u00F2\u00F3\u00F5" +        // 0xC8 - 0xCF
 293.106 -            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
 293.107 -            "\u0051\u0052\u00B9\u00FB\u00FC\u00F9\u00FA\u00FF" +        // 0xD8 - 0xDF
 293.108 -            "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
 293.109 -            "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" +        // 0xE8 - 0xEF
 293.110 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
 293.111 -            "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" +        // 0xF8 - 0xFF
 293.112 -            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
 293.113 -            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
 293.114 -            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
 293.115 -            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 293.116 -            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
 293.117 -            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
 293.118 -            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
 293.119 -            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
 293.120 -            "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u00E5" +        // 0x40 - 0x47
 293.121 -            "\u00E7\u00A6\u005B\u002E\u003C\u0028\u002B\u007C" +        // 0x48 - 0x4F
 293.122 -            "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
 293.123 -            "\u00EC\u00DF\u005D\u0024\u002A\u0029\u003B\u00AC" +        // 0x58 - 0x5F
 293.124 -            "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" +        // 0x60 - 0x67
 293.125 -            "\u00C7\u0023\u00F1\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
 293.126 -            "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +        // 0x70 - 0x77
 293.127 -            "\u00CC\u0060\u003A\u00D1\u0040\'\u003D\"";         // 0x78 - 0x7F
 293.128 -
 293.129 -    }
 293.130 -
 293.131 -    private static class Encoder extends SingleByteEncoder {
 293.132 -            public Encoder(Charset cs) {
 293.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 293.134 -            }
 293.135 -
 293.136 -            private final static String index2 =
 293.137 -
 293.138 -
 293.139 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
 293.140 -            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
 293.141 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 293.142 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 293.143 -            "\u0040\u00BB\u007F\u0069\u005B\u006C\u0050\u007D" +
 293.144 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 293.145 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 293.146 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 293.147 -            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 293.148 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 293.149 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 293.150 -            "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u00BA\u006D" +
 293.151 -            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 293.152 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 293.153 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 293.154 -            "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00BD\u0007" +
 293.155 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 293.156 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 293.157 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 293.158 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 293.159 -            "\u0041\u00AA\u00B0\u00B1\u009F\u00B2\u0049\u00B5" +
 293.160 -            "\u00A1\u00B4\u009A\u008A\u005F\u00CA\u00AF\u00BC" +
 293.161 -            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
 293.162 -            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
 293.163 -            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
 293.164 -            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
 293.165 -            "\u00AC\u007B\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
 293.166 -            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
 293.167 -            "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" +
 293.168 -            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
 293.169 -            "\u008C\u006A\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
 293.170 -            "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
 293.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 293.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 293.203 -
 293.204 -    private final static short index1[] = {
 293.205 -            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 293.206 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 293.207 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 293.208 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 293.209 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 293.210 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 293.211 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 293.212 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 293.213 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 293.214 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 293.215 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 293.216 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 293.217 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 293.218 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 293.219 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 293.220 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 293.221 -
 293.222 -        };
 293.223 -    }
 293.224 -}
   294.1 --- a/src/share/classes/sun/nio/cs/ext/IBM285.java	Wed Jan 14 21:35:03 2009 -0800
   294.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   294.3 @@ -1,221 +0,0 @@
   294.4 -
   294.5 -/*
   294.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   294.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   294.8 - *
   294.9 - * This code is free software; you can redistribute it and/or modify it
  294.10 - * under the terms of the GNU General Public License version 2 only, as
  294.11 - * published by the Free Software Foundation.  Sun designates this
  294.12 - * particular file as subject to the "Classpath" exception as provided
  294.13 - * by Sun in the LICENSE file that accompanied this code.
  294.14 - *
  294.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  294.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  294.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  294.18 - * version 2 for more details (a copy is included in the LICENSE file that
  294.19 - * accompanied this code).
  294.20 - *
  294.21 - * You should have received a copy of the GNU General Public License version
  294.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  294.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  294.24 - *
  294.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  294.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  294.27 - * have any questions.
  294.28 - */
  294.29 -
  294.30 -package sun.nio.cs.ext;
  294.31 -
  294.32 -
  294.33 -import java.nio.charset.Charset;
  294.34 -import java.nio.charset.CharsetDecoder;
  294.35 -import java.nio.charset.CharsetEncoder;
  294.36 -import sun.nio.cs.StandardCharsets;
  294.37 -import sun.nio.cs.SingleByteDecoder;
  294.38 -import sun.nio.cs.SingleByteEncoder;
  294.39 -import sun.nio.cs.HistoricallyNamedCharset;
  294.40 -
  294.41 -public class IBM285
  294.42 -    extends Charset
  294.43 -    implements HistoricallyNamedCharset
  294.44 -{
  294.45 -
  294.46 -    public IBM285() {
  294.47 -        super("IBM285", ExtendedCharsets.aliasesFor("IBM285"));
  294.48 -    }
  294.49 -
  294.50 -    public String historicalName() {
  294.51 -        return "Cp285";
  294.52 -    }
  294.53 -
  294.54 -    public boolean contains(Charset cs) {
  294.55 -        return (cs instanceof IBM285);
  294.56 -    }
  294.57 -
  294.58 -    public CharsetDecoder newDecoder() {
  294.59 -        return new Decoder(this);
  294.60 -    }
  294.61 -
  294.62 -    public CharsetEncoder newEncoder() {
  294.63 -        return new Encoder(this);
  294.64 -    }
  294.65 -
  294.66 -
  294.67 -    /**
  294.68 -     * These accessors are temporarily supplied while sun.io
  294.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  294.70 -     * These facilitate sharing of conversion tables between the
  294.71 -     * two co-existing implementations. When sun.io converters
  294.72 -     * are made extinct these will be unncessary and should be removed
  294.73 -     */
  294.74 -
  294.75 -    public String getDecoderSingleByteMappings() {
  294.76 -        return Decoder.byteToCharTable;
  294.77 -
  294.78 -    }
  294.79 -
  294.80 -    public short[] getEncoderIndex1() {
  294.81 -        return Encoder.index1;
  294.82 -
  294.83 -    }
  294.84 -    public String getEncoderIndex2() {
  294.85 -        return Encoder.index2;
  294.86 -
  294.87 -    }
  294.88 -
  294.89 -    protected static class Decoder extends SingleByteDecoder {
  294.90 -            public Decoder(Charset cs) {
  294.91 -                super(cs, byteToCharTable);
  294.92 -        }
  294.93 -
  294.94 -        private final static String byteToCharTable =
  294.95 -
  294.96 -            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
  294.97 -            "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" +        // 0x88 - 0x8F
  294.98 -            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
  294.99 -            "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" +        // 0x98 - 0x9F
 294.100 -            "\u00B5\u00AF\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
 294.101 -            "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" +        // 0xA8 - 0xAF
 294.102 -            "\u00A2\u005B\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" +        // 0xB0 - 0xB7
 294.103 -            "\u00BD\u00BE\u005E\u005D\u007E\u00A8\u00B4\u00D7" +        // 0xB8 - 0xBF
 294.104 -            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
 294.105 -            "\u0048\u0049\u00AD\u00F4\u00F6\u00F2\u00F3\u00F5" +        // 0xC8 - 0xCF
 294.106 -            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
 294.107 -            "\u0051\u0052\u00B9\u00FB\u00FC\u00F9\u00FA\u00FF" +        // 0xD8 - 0xDF
 294.108 -            "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
 294.109 -            "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" +        // 0xE8 - 0xEF
 294.110 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
 294.111 -            "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" +        // 0xF8 - 0xFF
 294.112 -            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
 294.113 -            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
 294.114 -            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
 294.115 -            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 294.116 -            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
 294.117 -            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
 294.118 -            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
 294.119 -            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
 294.120 -            "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u00E5" +        // 0x40 - 0x47
 294.121 -            "\u00E7\u00F1\u0024\u002E\u003C\u0028\u002B\u007C" +        // 0x48 - 0x4F
 294.122 -            "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
 294.123 -            "\u00EC\u00DF\u0021\u00A3\u002A\u0029\u003B\u00AC" +        // 0x58 - 0x5F
 294.124 -            "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" +        // 0x60 - 0x67
 294.125 -            "\u00C7\u00D1\u00A6\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
 294.126 -            "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +        // 0x70 - 0x77
 294.127 -            "\u00CC\u0060\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
 294.128 -
 294.129 -    }
 294.130 -
 294.131 -    private static class Encoder extends SingleByteEncoder {
 294.132 -            public Encoder(Charset cs) {
 294.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 294.134 -            }
 294.135 -
 294.136 -            private final static String index2 =
 294.137 -
 294.138 -
 294.139 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
 294.140 -            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
 294.141 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 294.142 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 294.143 -            "\u0040\u005A\u007F\u007B\u004A\u006C\u0050\u007D" +
 294.144 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 294.145 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 294.146 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 294.147 -            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 294.148 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 294.149 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 294.150 -            "\u00E7\u00E8\u00E9\u00B1\u00E0\u00BB\u00BA\u006D" +
 294.151 -            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 294.152 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 294.153 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 294.154 -            "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00BC\u0007" +
 294.155 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 294.156 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 294.157 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 294.158 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 294.159 -            "\u0041\u00AA\u00B0\u005B\u009F\u00B2\u006A\u00B5" +
 294.160 -            "\u00BD\u00B4\u009A\u008A\u005F\u00CA\u00AF\u00A1" +
 294.161 -            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
 294.162 -            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
 294.163 -            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
 294.164 -            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
 294.165 -            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
 294.166 -            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
 294.167 -            "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" +
 294.168 -            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
 294.169 -            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
 294.170 -            "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
 294.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 294.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 294.203 -
 294.204 -    private final static short index1[] = {
 294.205 -            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 294.206 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 294.207 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 294.208 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 294.209 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 294.210 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 294.211 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 294.212 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 294.213 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 294.214 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 294.215 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 294.216 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 294.217 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 294.218 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 294.219 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 294.220 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 294.221 -
 294.222 -        };
 294.223 -    }
 294.224 -}
   295.1 --- a/src/share/classes/sun/nio/cs/ext/IBM297.java	Wed Jan 14 21:35:03 2009 -0800
   295.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   295.3 @@ -1,221 +0,0 @@
   295.4 -
   295.5 -/*
   295.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   295.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   295.8 - *
   295.9 - * This code is free software; you can redistribute it and/or modify it
  295.10 - * under the terms of the GNU General Public License version 2 only, as
  295.11 - * published by the Free Software Foundation.  Sun designates this
  295.12 - * particular file as subject to the "Classpath" exception as provided
  295.13 - * by Sun in the LICENSE file that accompanied this code.
  295.14 - *
  295.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  295.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  295.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  295.18 - * version 2 for more details (a copy is included in the LICENSE file that
  295.19 - * accompanied this code).
  295.20 - *
  295.21 - * You should have received a copy of the GNU General Public License version
  295.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  295.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  295.24 - *
  295.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  295.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  295.27 - * have any questions.
  295.28 - */
  295.29 -
  295.30 -package sun.nio.cs.ext;
  295.31 -
  295.32 -
  295.33 -import java.nio.charset.Charset;
  295.34 -import java.nio.charset.CharsetDecoder;
  295.35 -import java.nio.charset.CharsetEncoder;
  295.36 -import sun.nio.cs.StandardCharsets;
  295.37 -import sun.nio.cs.SingleByteDecoder;
  295.38 -import sun.nio.cs.SingleByteEncoder;
  295.39 -import sun.nio.cs.HistoricallyNamedCharset;
  295.40 -
  295.41 -public class IBM297
  295.42 -    extends Charset
  295.43 -    implements HistoricallyNamedCharset
  295.44 -{
  295.45 -
  295.46 -    public IBM297() {
  295.47 -        super("IBM297", ExtendedCharsets.aliasesFor("IBM297"));
  295.48 -    }
  295.49 -
  295.50 -    public String historicalName() {
  295.51 -        return "Cp297";
  295.52 -    }
  295.53 -
  295.54 -    public boolean contains(Charset cs) {
  295.55 -        return (cs instanceof IBM297);
  295.56 -    }
  295.57 -
  295.58 -    public CharsetDecoder newDecoder() {
  295.59 -        return new Decoder(this);
  295.60 -    }
  295.61 -
  295.62 -    public CharsetEncoder newEncoder() {
  295.63 -        return new Encoder(this);
  295.64 -    }
  295.65 -
  295.66 -
  295.67 -    /**
  295.68 -     * These accessors are temporarily supplied while sun.io
  295.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  295.70 -     * These facilitate sharing of conversion tables between the
  295.71 -     * two co-existing implementations. When sun.io converters
  295.72 -     * are made extinct these will be unncessary and should be removed
  295.73 -     */
  295.74 -
  295.75 -    public String getDecoderSingleByteMappings() {
  295.76 -        return Decoder.byteToCharTable;
  295.77 -
  295.78 -    }
  295.79 -
  295.80 -    public short[] getEncoderIndex1() {
  295.81 -        return Encoder.index1;
  295.82 -
  295.83 -    }
  295.84 -    public String getEncoderIndex2() {
  295.85 -        return Encoder.index2;
  295.86 -
  295.87 -    }
  295.88 -
  295.89 -    protected static class Decoder extends SingleByteDecoder {
  295.90 -            public Decoder(Charset cs) {
  295.91 -                super(cs, byteToCharTable);
  295.92 -        }
  295.93 -
  295.94 -        private final static String byteToCharTable =
  295.95 -
  295.96 -            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
  295.97 -            "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" +        // 0x88 - 0x8F
  295.98 -            "\u005B\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
  295.99 -            "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" +        // 0x98 - 0x9F
 295.100 -            "\u0060\u00A8\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
 295.101 -            "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" +        // 0xA8 - 0xAF
 295.102 -            "\u00A2\u0023\u00A5\u00B7\u00A9\u005D\u00B6\u00BC" +        // 0xB0 - 0xB7
 295.103 -            "\u00BD\u00BE\u00AC\u007C\u00AF\u007E\u00B4\u00D7" +        // 0xB8 - 0xBF
 295.104 -            "\u00E9\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
 295.105 -            "\u0048\u0049\u00AD\u00F4\u00F6\u00F2\u00F3\u00F5" +        // 0xC8 - 0xCF
 295.106 -            "\u00E8\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
 295.107 -            "\u0051\u0052\u00B9\u00FB\u00FC\u00A6\u00FA\u00FF" +        // 0xD8 - 0xDF
 295.108 -            "\u00E7\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +        // 0xE0 - 0xE7
 295.109 -            "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" +        // 0xE8 - 0xEF
 295.110 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
 295.111 -            "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" +        // 0xF8 - 0xFF
 295.112 -            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
 295.113 -            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
 295.114 -            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
 295.115 -            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 295.116 -            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
 295.117 -            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
 295.118 -            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
 295.119 -            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
 295.120 -            "\u0020\u00A0\u00E2\u00E4\u0040\u00E1\u00E3\u00E5" +        // 0x40 - 0x47
 295.121 -            "\\\u00F1\u00B0\u002E\u003C\u0028\u002B\u0021" +    // 0x48 - 0x4F
 295.122 -            "\u0026\u007B\u00EA\u00EB\u007D\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
 295.123 -            "\u00EC\u00DF\u00A7\u0024\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
 295.124 -            "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" +        // 0x60 - 0x67
 295.125 -            "\u00C7\u00D1\u00F9\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
 295.126 -            "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +        // 0x70 - 0x77
 295.127 -            "\u00CC\u00B5\u003A\u00A3\u00E0\'\u003D\"";         // 0x78 - 0x7F
 295.128 -
 295.129 -    }
 295.130 -
 295.131 -    private static class Encoder extends SingleByteEncoder {
 295.132 -            public Encoder(Charset cs) {
 295.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 295.134 -            }
 295.135 -
 295.136 -            private final static String index2 =
 295.137 -
 295.138 -
 295.139 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
 295.140 -            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
 295.141 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 295.142 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 295.143 -            "\u0040\u004F\u007F\u00B1\u005B\u006C\u0050\u007D" +
 295.144 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 295.145 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 295.146 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 295.147 -            "\u0044\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 295.148 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 295.149 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 295.150 -            "\u00E7\u00E8\u00E9\u0090\u0048\u00B5\u005F\u006D" +
 295.151 -            "\u00A0\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 295.152 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 295.153 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 295.154 -            "\u00A7\u00A8\u00A9\u0051\u00BB\u0054\u00BD\u0007" +
 295.155 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 295.156 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 295.157 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 295.158 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 295.159 -            "\u0041\u00AA\u00B0\u007B\u009F\u00B2\u00DD\u005A" +
 295.160 -            "\u00A1\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
 295.161 -            "\u004A\u008F\u00EA\u00FA\u00BE\u0079\u00B6\u00B3" +
 295.162 -            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
 295.163 -            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
 295.164 -            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
 295.165 -            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
 295.166 -            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
 295.167 -            "\u007C\u0045\u0042\u0046\u0043\u0047\u009C\u00E0" +
 295.168 -            "\u00D0\u00C0\u0052\u0053\u0058\u0055\u0056\u0057" +
 295.169 -            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
 295.170 -            "\u0070\u006A\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
 295.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 295.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 295.203 -
 295.204 -    private final static short index1[] = {
 295.205 -            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 295.206 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 295.207 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 295.208 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 295.209 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 295.210 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 295.211 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 295.212 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 295.213 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 295.214 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 295.215 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 295.216 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 295.217 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 295.218 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 295.219 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 295.220 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 295.221 -
 295.222 -        };
 295.223 -    }
 295.224 -}
   296.1 --- a/src/share/classes/sun/nio/cs/ext/IBM420.java	Wed Jan 14 21:35:03 2009 -0800
   296.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   296.3 @@ -1,315 +0,0 @@
   296.4 -
   296.5 -/*
   296.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   296.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   296.8 - *
   296.9 - * This code is free software; you can redistribute it and/or modify it
  296.10 - * under the terms of the GNU General Public License version 2 only, as
  296.11 - * published by the Free Software Foundation.  Sun designates this
  296.12 - * particular file as subject to the "Classpath" exception as provided
  296.13 - * by Sun in the LICENSE file that accompanied this code.
  296.14 - *
  296.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  296.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  296.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  296.18 - * version 2 for more details (a copy is included in the LICENSE file that
  296.19 - * accompanied this code).
  296.20 - *
  296.21 - * You should have received a copy of the GNU General Public License version
  296.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  296.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  296.24 - *
  296.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  296.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  296.27 - * have any questions.
  296.28 - */
  296.29 -
  296.30 -package sun.nio.cs.ext;
  296.31 -
  296.32 -
  296.33 -import java.nio.charset.Charset;
  296.34 -import java.nio.charset.CharsetDecoder;
  296.35 -import java.nio.charset.CharsetEncoder;
  296.36 -import sun.nio.cs.StandardCharsets;
  296.37 -import sun.nio.cs.SingleByteDecoder;
  296.38 -import sun.nio.cs.SingleByteEncoder;
  296.39 -import sun.nio.cs.HistoricallyNamedCharset;
  296.40 -
  296.41 -public class IBM420
  296.42 -    extends Charset
  296.43 -    implements HistoricallyNamedCharset
  296.44 -{
  296.45 -
  296.46 -    public IBM420() {
  296.47 -        super("IBM420", ExtendedCharsets.aliasesFor("IBM420"));
  296.48 -    }
  296.49 -
  296.50 -    public String historicalName() {
  296.51 -        return "Cp420";
  296.52 -    }
  296.53 -
  296.54 -    public boolean contains(Charset cs) {
  296.55 -        return (cs instanceof IBM420);
  296.56 -    }
  296.57 -
  296.58 -    public CharsetDecoder newDecoder() {
  296.59 -        return new Decoder(this);
  296.60 -    }
  296.61 -
  296.62 -    public CharsetEncoder newEncoder() {
  296.63 -        return new Encoder(this);
  296.64 -    }
  296.65 -
  296.66 -
  296.67 -    /**
  296.68 -     * These accessors are temporarily supplied while sun.io
  296.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  296.70 -     * These facilitate sharing of conversion tables between the
  296.71 -     * two co-existing implementations. When sun.io converters
  296.72 -     * are made extinct these will be unncessary and should be removed
  296.73 -     */
  296.74 -
  296.75 -    public String getDecoderSingleByteMappings() {
  296.76 -        return Decoder.byteToCharTable;
  296.77 -
  296.78 -    }
  296.79 -
  296.80 -    public short[] getEncoderIndex1() {
  296.81 -        return Encoder.index1;
  296.82 -
  296.83 -    }
  296.84 -    public String getEncoderIndex2() {
  296.85 -        return Encoder.index2;
  296.86 -
  296.87 -    }
  296.88 -
  296.89 -    private static class Decoder extends SingleByteDecoder {
  296.90 -            public Decoder(Charset cs) {
  296.91 -                super(cs, byteToCharTable);
  296.92 -        }
  296.93 -
  296.94 -        private final static String byteToCharTable =
  296.95 -
  296.96 -            "\uF8F5\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
  296.97 -            "\u0068\u0069\uFEB7\uF8F4\uFEBB\uF8F7\uFEBF\uFEC3" +        // 0x88 - 0x8F
  296.98 -            "\uFEC7\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
  296.99 -            "\u0071\u0072\uFEC9\uFECA\uFECB\uFECC\uFECD\uFECE" +        // 0x98 - 0x9F
 296.100 -            "\uFECF\u00F7\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
 296.101 -            "\u0079\u007A\uFED0\uFED1\uFED3\uFED5\uFED7\uFED9" +        // 0xA8 - 0xAF
 296.102 -            "\uFEDB\uFEDD\uFEF5\uFEF6\uFEF7\uFEF8\uFFFD\uFFFD" +        // 0xB0 - 0xB7
 296.103 -            "\uFEFB\uFEFC\uFEDF\uFEE1\uFEE3\uFEE5\uFEE7\uFEE9" +        // 0xB8 - 0xBF
 296.104 -            "\u061B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
 296.105 -            "\u0048\u0049\u00AD\uFEEB\uFFFD\uFEEC\uFFFD\uFEED" +        // 0xC8 - 0xCF
 296.106 -            "\u061F\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
 296.107 -            "\u0051\u0052\uFEEF\uFEF0\uFEF1\uFEF2\uFEF3\u0660" +        // 0xD8 - 0xDF
 296.108 -            "\u00D7\u2007\u0053\u0054\u0055\u0056\u0057\u0058" +        // 0xE0 - 0xE7
 296.109 -            "\u0059\u005A\u0661\u0662\uFFFD\u0663\u0664\u0665" +        // 0xE8 - 0xEF
 296.110 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
 296.111 -            "\u0038\u0039\uFFFD\u0666\u0667\u0668\u0669\u009F" +        // 0xF8 - 0xFF
 296.112 -            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
 296.113 -            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
 296.114 -            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
 296.115 -            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 296.116 -            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
 296.117 -            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
 296.118 -            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
 296.119 -            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
 296.120 -            "\u0020\u00A0\uFE7C\uFE7D\u0640\uF8FC\uFE80\uFE81" +        // 0x40 - 0x47
 296.121 -            "\uFE82\uFE83\u00A2\u002E\u003C\u0028\u002B\u007C" +        // 0x48 - 0x4F
 296.122 -            "\u0026\uFE84\uFE85\uFFFD\uFFFD\uFE8B\uFE8D\uFE8E" +        // 0x50 - 0x57
 296.123 -            "\uFE8F\uFE91\u0021\u0024\u002A\u0029\u003B\u00AC" +        // 0x58 - 0x5F
 296.124 -            "\u002D\u002F\uFE93\uFE95\uFE97\uFE99\uFE9B\uFE9D" +        // 0x60 - 0x67
 296.125 -            "\uFE9F\uFEA1\u00A6\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
 296.126 -            "\uFEA3\uFEA5\uFEA7\uFEA9\uFEAB\uFEAD\uFEAF\uF8F6" +        // 0x70 - 0x77
 296.127 -            "\uFEB3\u060C\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
 296.128 -
 296.129 -    }
 296.130 -
 296.131 -    private static class Encoder extends SingleByteEncoder {
 296.132 -            public Encoder(Charset cs) {
 296.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 296.134 -            }
 296.135 -
 296.136 -            private final static String index2 =
 296.137 -
 296.138 -
 296.139 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
 296.140 -            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
 296.141 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 296.142 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 296.143 -            "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" +
 296.144 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 296.145 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 296.146 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 296.147 -            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 296.148 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 296.149 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 296.150 -            "\u00E7\u00E8\u00E9\u0000\u0000\u0000\u0000\u006D" +
 296.151 -            "\u0000\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 296.152 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 296.153 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 296.154 -            "\u00A7\u00A8\u00A9\u0000\u004F\u0000\u0000\u0007" +
 296.155 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 296.156 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 296.157 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 296.158 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 296.159 -            "\u0041\u0000\u004A\u0000\u0000\u0000\u006A\u0000" +
 296.160 -            "\u0000\u0000\u0000\u0000\u005F\u00CA\u0000\u0000" +
 296.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.162 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E0" +
 296.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00A1" +
 296.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.202 -            "\u0079\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C0" +
 296.204 -            "\u0000\u0000\u0000\u00D0\u0000\u0000\u0000\u0000" +
 296.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.208 -            "\u0000\u0000\u0000\u0000\u0044\u0000\u0000\u0000" +
 296.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.212 -            "\u0000\u0000\u0000\u0000\u00DF\u00EA\u00EB\u00ED" +
 296.213 -            "\u00EE\u00EF\u00FB\u00FC\u00FD\u00FE\u0000\u0000" +
 296.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.232 -            "\u0000\u0000\u0000\u0000\u00E1\u0000\u0000\u0000" +
 296.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.263 -            "\u0000\u0000\u0000\u0000\u0000\u008B\u0080\u0077" +
 296.264 -            "\u008D\u0000\u0000\u0000\u0000\u0045\u0000\u0000" +
 296.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 296.280 -            "\u0000\u0000\u0042\u0043\u0000\u0000\u0046\u0047" +
 296.281 -            "\u0048\u0049\u0051\u0052\u0000\u0000\u0000\u0000" +
 296.282 -            "\u0000\u0055\u0000\u0056\u0057\u0058\u0000\u0059" +
 296.283 -            "\u0000\u0062\u0000\u0063\u0000\u0064\u0000\u0065" +
 296.284 -            "\u0000\u0066\u0000\u0067\u0000\u0068\u0000\u0069" +
 296.285 -            "\u0000\u0070\u0000\u0071\u0000\u0072\u0000\u0073" +
 296.286 -            "\u0000\u0074\u0000\u0075\u0000\u0076\u0000\u0000" +
 296.287 -            "\u0000\u0078\u0000\u0000\u0000\u008A\u0000\u0000" +
 296.288 -            "\u0000\u008C\u0000\u0000\u0000\u008E\u0000\u0000" +
 296.289 -            "\u0000\u008F\u0000\u0000\u0000\u0090\u0000\u009A" +
 296.290 -            "\u009B\u009C\u009D\u009E\u009F\u00A0\u00AA\u00AB" +
 296.291 -            "\u0000\u00AC\u0000\u00AD\u0000\u00AE\u0000\u00AF" +
 296.292 -            "\u0000\u00B0\u0000\u00B1\u0000\u00BA\u0000\u00BB" +
 296.293 -            "\u0000\u00BC\u0000\u00BD\u0000\u00BE\u0000\u00BF" +
 296.294 -            "\u0000\u00CB\u00CD\u00CF\u0000\u00DA\u00DB\u00DC" +
 296.295 -            "\u00DD\u00DE\u0000\u00B2\u00B3\u00B4\u00B5\u0000" +
 296.296 -            "\u0000\u00B8\u00B9\u0000\u0000\u0000";
 296.297 -
 296.298 -    private final static short index1[] = {
 296.299 -            0, 248, 248, 248, 248, 248, 492, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 296.300 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 296.301 -            741, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 296.302 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 296.303 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 296.304 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 296.305 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 296.306 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 296.307 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 296.308 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 296.309 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 296.310 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 296.311 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 296.312 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 296.313 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 296.314 -            248, 248, 248, 248, 248, 248, 248, 248, 753, 248, 248, 248, 248, 248, 1006, 248,
 296.315 -
 296.316 -        };
 296.317 -    }
 296.318 -}
   297.1 --- a/src/share/classes/sun/nio/cs/ext/IBM424.java	Wed Jan 14 21:35:03 2009 -0800
   297.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   297.3 @@ -1,256 +0,0 @@
   297.4 -
   297.5 -/*
   297.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   297.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   297.8 - *
   297.9 - * This code is free software; you can redistribute it and/or modify it
  297.10 - * under the terms of the GNU General Public License version 2 only, as
  297.11 - * published by the Free Software Foundation.  Sun designates this
  297.12 - * particular file as subject to the "Classpath" exception as provided
  297.13 - * by Sun in the LICENSE file that accompanied this code.
  297.14 - *
  297.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  297.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  297.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  297.18 - * version 2 for more details (a copy is included in the LICENSE file that
  297.19 - * accompanied this code).
  297.20 - *
  297.21 - * You should have received a copy of the GNU General Public License version
  297.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  297.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  297.24 - *
  297.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  297.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  297.27 - * have any questions.
  297.28 - */
  297.29 -
  297.30 -package sun.nio.cs.ext;
  297.31 -
  297.32 -
  297.33 -import java.nio.charset.Charset;
  297.34 -import java.nio.charset.CharsetDecoder;
  297.35 -import java.nio.charset.CharsetEncoder;
  297.36 -import sun.nio.cs.StandardCharsets;
  297.37 -import sun.nio.cs.SingleByteDecoder;
  297.38 -import sun.nio.cs.SingleByteEncoder;
  297.39 -import sun.nio.cs.HistoricallyNamedCharset;
  297.40 -
  297.41 -public class IBM424
  297.42 -    extends Charset
  297.43 -    implements HistoricallyNamedCharset
  297.44 -{
  297.45 -
  297.46 -    public IBM424() {
  297.47 -        super("IBM424", ExtendedCharsets.aliasesFor("IBM424"));
  297.48 -    }
  297.49 -
  297.50 -    public String historicalName() {
  297.51 -        return "Cp424";
  297.52 -    }
  297.53 -
  297.54 -    public boolean contains(Charset cs) {
  297.55 -        return (cs instanceof IBM424);
  297.56 -    }
  297.57 -
  297.58 -    public CharsetDecoder newDecoder() {
  297.59 -        return new Decoder(this);
  297.60 -    }
  297.61 -
  297.62 -    public CharsetEncoder newEncoder() {
  297.63 -        return new Encoder(this);
  297.64 -    }
  297.65 -
  297.66 -
  297.67 -    /**
  297.68 -     * These accessors are temporarily supplied while sun.io
  297.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  297.70 -     * These facilitate sharing of conversion tables between the
  297.71 -     * two co-existing implementations. When sun.io converters
  297.72 -     * are made extinct these will be unncessary and should be removed
  297.73 -     */
  297.74 -
  297.75 -    public String getDecoderSingleByteMappings() {
  297.76 -        return Decoder.byteToCharTable;
  297.77 -
  297.78 -    }
  297.79 -
  297.80 -    public short[] getEncoderIndex1() {
  297.81 -        return Encoder.index1;
  297.82 -
  297.83 -    }
  297.84 -    public String getEncoderIndex2() {
  297.85 -        return Encoder.index2;
  297.86 -
  297.87 -    }
  297.88 -
  297.89 -    private static class Decoder extends SingleByteDecoder {
  297.90 -            public Decoder(Charset cs) {
  297.91 -                super(cs, byteToCharTable);
  297.92 -        }
  297.93 -
  297.94 -        private final static String byteToCharTable =
  297.95 -
  297.96 -            "\uFFFD\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
  297.97 -            "\u0068\u0069\u00AB\u00BB\uFFFD\uFFFD\uFFFD\u00B1" +        // 0x88 - 0x8F
  297.98 -            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
  297.99 -            "\u0071\u0072\uFFFD\uFFFD\uFFFD\u00B8\uFFFD\u00A4" +        // 0x98 - 0x9F
 297.100 -            "\u00B5\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
 297.101 -            "\u0079\u007A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u00AE" +        // 0xA8 - 0xAF
 297.102 -            "\u005E\u00A3\u00A5\u2022\u00A9\u00A7\u00B6\u00BC" +        // 0xB0 - 0xB7
 297.103 -            "\u00BD\u00BE\u005B\u005D\u203E\u00A8\u00B4\u00D7" +        // 0xB8 - 0xBF
 297.104 -            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
 297.105 -            "\u0048\u0049\u00AD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0xC8 - 0xCF
 297.106 -            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
 297.107 -            "\u0051\u0052\u00B9\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0xD8 - 0xDF
 297.108 -            "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
 297.109 -            "\u0059\u005A\u00B2\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0xE8 - 0xEF
 297.110 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
 297.111 -            "\u0038\u0039\u00B3\uFFFD\uFFFD\uFFFD\uFFFD\u009F" +        // 0xF8 - 0xFF
 297.112 -            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
 297.113 -            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
 297.114 -            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
 297.115 -            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 297.116 -            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
 297.117 -            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
 297.118 -            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
 297.119 -            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
 297.120 -            "\u0020\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6" +        // 0x40 - 0x47
 297.121 -            "\u05D7\u05D8\u00A2\u002E\u003C\u0028\u002B\u007C" +        // 0x48 - 0x4F
 297.122 -            "\u0026\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF" +        // 0x50 - 0x57
 297.123 -            "\u05E0\u05E1\u0021\u0024\u002A\u0029\u003B\u00AC" +        // 0x58 - 0x5F
 297.124 -            "\u002D\u002F\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7" +        // 0x60 - 0x67
 297.125 -            "\u05E8\u05E9\u00A6\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
 297.126 -            "\uFFFD\u05EA\uFFFD\uFFFD\u00A0\uFFFD\uFFFD\uFFFD" +        // 0x70 - 0x77
 297.127 -            "\u2017\u0060\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
 297.128 -
 297.129 -    }
 297.130 -
 297.131 -    private static class Encoder extends SingleByteEncoder {
 297.132 -            public Encoder(Charset cs) {
 297.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 297.134 -            }
 297.135 -
 297.136 -            private final static String index2 =
 297.137 -
 297.138 -
 297.139 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
 297.140 -            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
 297.141 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 297.142 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 297.143 -            "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" +
 297.144 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 297.145 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 297.146 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 297.147 -            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 297.148 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 297.149 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 297.150 -            "\u00E7\u00E8\u00E9\u00BA\u00E0\u00BB\u00B0\u006D" +
 297.151 -            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 297.152 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 297.153 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 297.154 -            "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00A1\u0007" +
 297.155 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 297.156 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 297.157 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 297.158 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 297.159 -            "\u0074\u0000\u004A\u00B1\u009F\u00B2\u006A\u00B5" +
 297.160 -            "\u00BD\u00B4\u0000\u008A\u005F\u00CA\u00AF\u0000" +
 297.161 -            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u0000" +
 297.162 -            "\u009D\u00DA\u0000\u008B\u00B7\u00B8\u00B9\u0000" +
 297.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BF" +
 297.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E1" +
 297.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.202 -            "\u0041\u0042\u0043\u0044\u0045\u0046\u0047\u0048" +
 297.203 -            "\u0049\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 297.204 -            "\u0058\u0059\u0062\u0063\u0064\u0065\u0066\u0067" +
 297.205 -            "\u0068\u0069\u0071\u0000\u0000\u0000\u0000\u0000" +
 297.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.208 -            "\u0000\u0000\u0078\u0000\u0000\u0000\u0000\u0000" +
 297.209 -            "\u0000\u0000\u0000\u0000\u0000\u00B3\u0000\u0000" +
 297.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.213 -            "\u0000\u00BC\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 297.237 -            "\u0000\u0000\u0000";
 297.238 -
 297.239 -    private final static short index1[] = {
 297.240 -            0, 248, 248, 248, 248, 296, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 297.241 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 297.242 -            531, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 297.243 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 297.244 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 297.245 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 297.246 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 297.247 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 297.248 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 297.249 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 297.250 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 297.251 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 297.252 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 297.253 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 297.254 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 297.255 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 297.256 -
 297.257 -        };
 297.258 -    }
 297.259 -}
   298.1 --- a/src/share/classes/sun/nio/cs/ext/IBM500.java	Wed Jan 14 21:35:03 2009 -0800
   298.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   298.3 @@ -1,221 +0,0 @@
   298.4 -
   298.5 -/*
   298.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   298.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   298.8 - *
   298.9 - * This code is free software; you can redistribute it and/or modify it
  298.10 - * under the terms of the GNU General Public License version 2 only, as
  298.11 - * published by the Free Software Foundation.  Sun designates this
  298.12 - * particular file as subject to the "Classpath" exception as provided
  298.13 - * by Sun in the LICENSE file that accompanied this code.
  298.14 - *
  298.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  298.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  298.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  298.18 - * version 2 for more details (a copy is included in the LICENSE file that
  298.19 - * accompanied this code).
  298.20 - *
  298.21 - * You should have received a copy of the GNU General Public License version
  298.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  298.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  298.24 - *
  298.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  298.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  298.27 - * have any questions.
  298.28 - */
  298.29 -
  298.30 -package sun.nio.cs.ext;
  298.31 -
  298.32 -
  298.33 -import java.nio.charset.Charset;
  298.34 -import java.nio.charset.CharsetDecoder;
  298.35 -import java.nio.charset.CharsetEncoder;
  298.36 -import sun.nio.cs.StandardCharsets;
  298.37 -import sun.nio.cs.SingleByteDecoder;
  298.38 -import sun.nio.cs.SingleByteEncoder;
  298.39 -import sun.nio.cs.HistoricallyNamedCharset;
  298.40 -
  298.41 -public class IBM500
  298.42 -    extends Charset
  298.43 -    implements HistoricallyNamedCharset
  298.44 -{
  298.45 -
  298.46 -    public IBM500() {
  298.47 -        super("IBM500", ExtendedCharsets.aliasesFor("IBM500"));
  298.48 -    }
  298.49 -
  298.50 -    public String historicalName() {
  298.51 -        return "Cp500";
  298.52 -    }
  298.53 -
  298.54 -    public boolean contains(Charset cs) {
  298.55 -        return (cs instanceof IBM500);
  298.56 -    }
  298.57 -
  298.58 -    public CharsetDecoder newDecoder() {
  298.59 -        return new Decoder(this);
  298.60 -    }
  298.61 -
  298.62 -    public CharsetEncoder newEncoder() {
  298.63 -        return new Encoder(this);
  298.64 -    }
  298.65 -
  298.66 -
  298.67 -    /**
  298.68 -     * These accessors are temporarily supplied while sun.io
  298.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  298.70 -     * These facilitate sharing of conversion tables between the
  298.71 -     * two co-existing implementations. When sun.io converters
  298.72 -     * are made extinct these will be unncessary and should be removed
  298.73 -     */
  298.74 -
  298.75 -    public String getDecoderSingleByteMappings() {
  298.76 -        return Decoder.byteToCharTable;
  298.77 -
  298.78 -    }
  298.79 -
  298.80 -    public short[] getEncoderIndex1() {
  298.81 -        return Encoder.index1;
  298.82 -
  298.83 -    }
  298.84 -    public String getEncoderIndex2() {
  298.85 -        return Encoder.index2;
  298.86 -
  298.87 -    }
  298.88 -
  298.89 -    protected static class Decoder extends SingleByteDecoder {
  298.90 -            public Decoder(Charset cs) {
  298.91 -                super(cs, byteToCharTable);
  298.92 -        }
  298.93 -
  298.94 -        private final static String byteToCharTable =
  298.95 -
  298.96 -            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
  298.97 -            "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" +        // 0x88 - 0x8F
  298.98 -            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
  298.99 -            "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" +        // 0x98 - 0x9F
 298.100 -            "\u00B5\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
 298.101 -            "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" +        // 0xA8 - 0xAF
 298.102 -            "\u00A2\u00A3\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" +        // 0xB0 - 0xB7
 298.103 -            "\u00BD\u00BE\u00AC\u007C\u00AF\u00A8\u00B4\u00D7" +        // 0xB8 - 0xBF
 298.104 -            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
 298.105 -            "\u0048\u0049\u00AD\u00F4\u00F6\u00F2\u00F3\u00F5" +        // 0xC8 - 0xCF
 298.106 -            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
 298.107 -            "\u0051\u0052\u00B9\u00FB\u00FC\u00F9\u00FA\u00FF" +        // 0xD8 - 0xDF
 298.108 -            "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
 298.109 -            "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" +        // 0xE8 - 0xEF
 298.110 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
 298.111 -            "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" +        // 0xF8 - 0xFF
 298.112 -            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
 298.113 -            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
 298.114 -            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
 298.115 -            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 298.116 -            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
 298.117 -            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
 298.118 -            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
 298.119 -            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
 298.120 -            "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u00E5" +        // 0x40 - 0x47
 298.121 -            "\u00E7\u00F1\u005B\u002E\u003C\u0028\u002B\u0021" +        // 0x48 - 0x4F
 298.122 -            "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
 298.123 -            "\u00EC\u00DF\u005D\u0024\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
 298.124 -            "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" +        // 0x60 - 0x67
 298.125 -            "\u00C7\u00D1\u00A6\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
 298.126 -            "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +        // 0x70 - 0x77
 298.127 -            "\u00CC\u0060\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
 298.128 -
 298.129 -    }
 298.130 -
 298.131 -    private static class Encoder extends SingleByteEncoder {
 298.132 -            public Encoder(Charset cs) {
 298.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 298.134 -            }
 298.135 -
 298.136 -            private final static String index2 =
 298.137 -
 298.138 -
 298.139 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
 298.140 -            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
 298.141 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 298.142 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 298.143 -            "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" +
 298.144 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 298.145 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 298.146 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 298.147 -            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 298.148 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 298.149 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 298.150 -            "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u005F\u006D" +
 298.151 -            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 298.152 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 298.153 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 298.154 -            "\u00A7\u00A8\u00A9\u00C0\u00BB\u00D0\u00A1\u0007" +
 298.155 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 298.156 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 298.157 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 298.158 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 298.159 -            "\u0041\u00AA\u00B0\u00B1\u009F\u00B2\u006A\u00B5" +
 298.160 -            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
 298.161 -            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
 298.162 -            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
 298.163 -            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
 298.164 -            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
 298.165 -            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
 298.166 -            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
 298.167 -            "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" +
 298.168 -            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
 298.169 -            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
 298.170 -            "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
 298.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 298.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 298.203 -
 298.204 -    private final static short index1[] = {
 298.205 -            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 298.206 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 298.207 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 298.208 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 298.209 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 298.210 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 298.211 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 298.212 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 298.213 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 298.214 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 298.215 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 298.216 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 298.217 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 298.218 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 298.219 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 298.220 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 298.221 -
 298.222 -        };
 298.223 -    }
 298.224 -}
   299.1 --- a/src/share/classes/sun/nio/cs/ext/IBM838.java	Wed Jan 14 21:35:03 2009 -0800
   299.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   299.3 @@ -1,243 +0,0 @@
   299.4 -
   299.5 -/*
   299.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   299.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   299.8 - *
   299.9 - * This code is free software; you can redistribute it and/or modify it
  299.10 - * under the terms of the GNU General Public License version 2 only, as
  299.11 - * published by the Free Software Foundation.  Sun designates this
  299.12 - * particular file as subject to the "Classpath" exception as provided
  299.13 - * by Sun in the LICENSE file that accompanied this code.
  299.14 - *
  299.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  299.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  299.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  299.18 - * version 2 for more details (a copy is included in the LICENSE file that
  299.19 - * accompanied this code).
  299.20 - *
  299.21 - * You should have received a copy of the GNU General Public License version
  299.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  299.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  299.24 - *
  299.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  299.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  299.27 - * have any questions.
  299.28 - */
  299.29 -
  299.30 -package sun.nio.cs.ext;
  299.31 -
  299.32 -
  299.33 -import java.nio.charset.Charset;
  299.34 -import java.nio.charset.CharsetDecoder;
  299.35 -import java.nio.charset.CharsetEncoder;
  299.36 -import sun.nio.cs.StandardCharsets;
  299.37 -import sun.nio.cs.SingleByteDecoder;
  299.38 -import sun.nio.cs.SingleByteEncoder;
  299.39 -import sun.nio.cs.HistoricallyNamedCharset;
  299.40 -
  299.41 -public class IBM838
  299.42 -    extends Charset
  299.43 -    implements HistoricallyNamedCharset
  299.44 -{
  299.45 -
  299.46 -    public IBM838() {
  299.47 -        super("IBM-Thai", ExtendedCharsets.aliasesFor("IBM-Thai"));
  299.48 -    }
  299.49 -
  299.50 -    public String historicalName() {
  299.51 -        return "Cp838";
  299.52 -    }
  299.53 -
  299.54 -    public boolean contains(Charset cs) {
  299.55 -        return (cs instanceof IBM838);
  299.56 -    }
  299.57 -
  299.58 -    public CharsetDecoder newDecoder() {
  299.59 -        return new Decoder(this);
  299.60 -    }
  299.61 -
  299.62 -    public CharsetEncoder newEncoder() {
  299.63 -        return new Encoder(this);
  299.64 -    }
  299.65 -
  299.66 -
  299.67 -    /**
  299.68 -     * These accessors are temporarily supplied while sun.io
  299.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  299.70 -     * These facilitate sharing of conversion tables between the
  299.71 -     * two co-existing implementations. When sun.io converters
  299.72 -     * are made extinct these will be unncessary and should be removed
  299.73 -     */
  299.74 -
  299.75 -    public String getDecoderSingleByteMappings() {
  299.76 -        return Decoder.byteToCharTable;
  299.77 -
  299.78 -    }
  299.79 -
  299.80 -    public short[] getEncoderIndex1() {
  299.81 -        return Encoder.index1;
  299.82 -
  299.83 -    }
  299.84 -    public String getEncoderIndex2() {
  299.85 -        return Encoder.index2;
  299.86 -
  299.87 -    }
  299.88 -
  299.89 -    private static class Decoder extends SingleByteDecoder {
  299.90 -            public Decoder(Charset cs) {
  299.91 -                super(cs, byteToCharTable);
  299.92 -        }
  299.93 -
  299.94 -        private final static String byteToCharTable =
  299.95 -
  299.96 -            "\u0E4F\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
  299.97 -            "\u0068\u0069\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22" +        // 0x88 - 0x8F
  299.98 -            "\u0E5A\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
  299.99 -            "\u0071\u0072\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28" +        // 0x98 - 0x9F
 299.100 -            "\u0E5B\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
 299.101 -            "\u0079\u007A\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E" +        // 0xA8 - 0xAF
 299.102 -            "\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57" +        // 0xB0 - 0xB7
 299.103 -            "\u0E58\u0E59\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34" +        // 0xB8 - 0xBF
 299.104 -            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
 299.105 -            "\u0048\u0049\u0E49\u0E35\u0E36\u0E37\u0E38\u0E39" +        // 0xC8 - 0xCF
 299.106 -            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
 299.107 -            "\u0051\u0052\u0E3A\u0E40\u0E41\u0E42\u0E43\u0E44" +        // 0xD8 - 0xDF
 299.108 -            "\\\u0E4A\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
 299.109 -            "\u0059\u005A\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A" +        // 0xE8 - 0xEF
 299.110 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
 299.111 -            "\u0038\u0039\u0E4B\u0E4C\u0E4D\u0E4B\u0E4C\u009F" +        // 0xF8 - 0xFF
 299.112 -            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
 299.113 -            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
 299.114 -            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
 299.115 -            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 299.116 -            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
 299.117 -            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
 299.118 -            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
 299.119 -            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
 299.120 -            "\u0020\u00A0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06" +        // 0x40 - 0x47
 299.121 -            "\u0E07\u005B\u00A2\u002E\u003C\u0028\u002B\u007C" +        // 0x48 - 0x4F
 299.122 -            "\u0026\u0E48\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D" +        // 0x50 - 0x57
 299.123 -            "\u0E0E\u005D\u0021\u0024\u002A\u0029\u003B\u00AC" +        // 0x58 - 0x5F
 299.124 -            "\u002D\u002F\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14" +        // 0x60 - 0x67
 299.125 -            "\u0E15\u005E\u00A6\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
 299.126 -            "\u0E3F\u0E4E\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B" +        // 0x70 - 0x77
 299.127 -            "\u0E1C\u0060\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
 299.128 -
 299.129 -    }
 299.130 -
 299.131 -    private static class Encoder extends SingleByteEncoder {
 299.132 -            public Encoder(Charset cs) {
 299.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 299.134 -            }
 299.135 -
 299.136 -            private final static String index2 =
 299.137 -
 299.138 -
 299.139 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
 299.140 -            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
 299.141 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 299.142 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 299.143 -            "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" +
 299.144 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 299.145 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 299.146 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 299.147 -            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 299.148 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 299.149 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 299.150 -            "\u00E7\u00E8\u00E9\u0049\u00E0\u0059\u0069\u006D" +
 299.151 -            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 299.152 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 299.153 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 299.154 -            "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00A1\u0007" +
 299.155 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 299.156 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 299.157 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 299.158 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 299.159 -            "\u0041\u0000\u004A\u0000\u0000\u0000\u006A\u0000" +
 299.160 -            "\u0000\u0000\u0000\u0000\u005F\u0000\u0000\u0000" +
 299.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.162 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.192 -            "\u0000\u0000\u0000\u0000\u0000\u0042\u0043\u0044" +
 299.193 -            "\u0045\u0046\u0047\u0048\u0052\u0053\u0054\u0055" +
 299.194 -            "\u0056\u0057\u0058\u0062\u0063\u0064\u0065\u0066" +
 299.195 -            "\u0067\u0068\u0072\u0073\u0074\u0075\u0076\u0077" +
 299.196 -            "\u0078\u008A\u008B\u008C\u008D\u008E\u008F\u009A" +
 299.197 -            "\u009B\u009C\u009D\u009E\u009F\u00AA\u00AB\u00AC" +
 299.198 -            "\u00AD\u00AE\u00AF\u00BA\u00BB\u00BC\u00BD\u00BE" +
 299.199 -            "\u00BF\u00CB\u00CC\u00CD\u00CE\u00CF\u00DA\u0000" +
 299.200 -            "\u0000\u0000\u0000\u0070\u00DB\u00DC\u00DD\u00DE" +
 299.201 -            "\u00DF\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF\u00FA" +
 299.202 -            "\u00FB\u00FC\u0071\u0080\u00B0\u00B1\u00B2\u00B3" +
 299.203 -            "\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u0090\u00A0" +
 299.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 299.224 -            "\u0000\u0000\u0000\u0000";
 299.225 -
 299.226 -    private final static short index1[] = {
 299.227 -            0, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 428, 173,
 299.228 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 299.229 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 299.230 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 299.231 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 299.232 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 299.233 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 299.234 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 299.235 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 299.236 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 299.237 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 299.238 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 299.239 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 299.240 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 299.241 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 299.242 -            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
 299.243 -
 299.244 -        };
 299.245 -    }
 299.246 -}
   300.1 --- a/src/share/classes/sun/nio/cs/ext/IBM856.java	Wed Jan 14 21:35:03 2009 -0800
   300.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   300.3 @@ -1,288 +0,0 @@
   300.4 -
   300.5 -/*
   300.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   300.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   300.8 - *
   300.9 - * This code is free software; you can redistribute it and/or modify it
  300.10 - * under the terms of the GNU General Public License version 2 only, as
  300.11 - * published by the Free Software Foundation.  Sun designates this
  300.12 - * particular file as subject to the "Classpath" exception as provided
  300.13 - * by Sun in the LICENSE file that accompanied this code.
  300.14 - *
  300.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  300.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  300.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  300.18 - * version 2 for more details (a copy is included in the LICENSE file that
  300.19 - * accompanied this code).
  300.20 - *
  300.21 - * You should have received a copy of the GNU General Public License version
  300.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  300.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  300.24 - *
  300.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  300.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  300.27 - * have any questions.
  300.28 - */
  300.29 -
  300.30 -package sun.nio.cs.ext;
  300.31 -
  300.32 -
  300.33 -import java.nio.charset.Charset;
  300.34 -import java.nio.charset.CharsetDecoder;
  300.35 -import java.nio.charset.CharsetEncoder;
  300.36 -import sun.nio.cs.StandardCharsets;
  300.37 -import sun.nio.cs.SingleByteDecoder;
  300.38 -import sun.nio.cs.SingleByteEncoder;
  300.39 -import sun.nio.cs.HistoricallyNamedCharset;
  300.40 -
  300.41 -public class IBM856
  300.42 -    extends Charset
  300.43 -    implements HistoricallyNamedCharset
  300.44 -{
  300.45 -
  300.46 -    public IBM856() {
  300.47 -        super("x-IBM856", ExtendedCharsets.aliasesFor("x-IBM856"));
  300.48 -    }
  300.49 -
  300.50 -    public String historicalName() {
  300.51 -        return "Cp856";
  300.52 -    }
  300.53 -
  300.54 -    public boolean contains(Charset cs) {
  300.55 -        return (cs instanceof IBM856);
  300.56 -    }
  300.57 -
  300.58 -    public CharsetDecoder newDecoder() {
  300.59 -        return new Decoder(this);
  300.60 -    }
  300.61 -
  300.62 -    public CharsetEncoder newEncoder() {
  300.63 -        return new Encoder(this);
  300.64 -    }
  300.65 -
  300.66 -
  300.67 -    /**
  300.68 -     * These accessors are temporarily supplied while sun.io
  300.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  300.70 -     * These facilitate sharing of conversion tables between the
  300.71 -     * two co-existing implementations. When sun.io converters
  300.72 -     * are made extinct these will be unncessary and should be removed
  300.73 -     */
  300.74 -
  300.75 -    public String getDecoderSingleByteMappings() {
  300.76 -        return Decoder.byteToCharTable;
  300.77 -
  300.78 -    }
  300.79 -
  300.80 -    public short[] getEncoderIndex1() {
  300.81 -        return Encoder.index1;
  300.82 -
  300.83 -    }
  300.84 -    public String getEncoderIndex2() {
  300.85 -        return Encoder.index2;
  300.86 -
  300.87 -    }
  300.88 -
  300.89 -    private static class Decoder extends SingleByteDecoder {
  300.90 -            public Decoder(Charset cs) {
  300.91 -                super(cs, byteToCharTable);
  300.92 -        }
  300.93 -
  300.94 -        private final static String byteToCharTable =
  300.95 -
  300.96 -            "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7" +     // 0x80 - 0x87
  300.97 -            "\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF" +     // 0x88 - 0x8F
  300.98 -            "\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7" +     // 0x90 - 0x97
  300.99 -            "\u05E8\u05E9\u05EA\uFFFD\u00A3\uFFFD\u00D7\uFFFD" +     // 0x98 - 0x9F
 300.100 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xA0 - 0xA7
 300.101 -            "\uFFFD\u00AE\u00AC\u00BD\u00BC\uFFFD\u00AB\u00BB" +     // 0xA8 - 0xAF
 300.102 -            "\u2591\u2592\u2593\u2502\u2524\uFFFD\uFFFD\uFFFD" +     // 0xB0 - 0xB7
 300.103 -            "\u00A9\u2563\u2551\u2557\u255D\u00A2\u00A5\u2510" +     // 0xB8 - 0xBF
 300.104 -            "\u2514\u2534\u252C\u251C\u2500\u253C\uFFFD\uFFFD" +     // 0xC0 - 0xC7
 300.105 -            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u00A4" +     // 0xC8 - 0xCF
 300.106 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xD0 - 0xD7
 300.107 -            "\uFFFD\u2518\u250C\u2588\u2584\u00A6\uFFFD\u2580" +     // 0xD8 - 0xDF
 300.108 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u00B5\uFFFD" +     // 0xE0 - 0xE7
 300.109 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u203E\u00B4" +     // 0xE8 - 0xEF
 300.110 -            "\u00AD\u00B1\u2017\u00BE\u00B6\u00A7\u00F7\u00B8" +     // 0xF0 - 0xF7
 300.111 -            "\u00B0\u00A8\u2022\u00B9\u00B3\u00B2\u25A0\u00A0" +     // 0xF8 - 0xFF
 300.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 300.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 300.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 300.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 300.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 300.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 300.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 300.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 300.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 300.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 300.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 300.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 300.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 300.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 300.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 300.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 300.128 -
 300.129 -    }
 300.130 -
 300.131 -    private static class Encoder extends SingleByteEncoder {
 300.132 -            public Encoder(Charset cs) {
 300.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 300.134 -            }
 300.135 -
 300.136 -            private final static String index2 =
 300.137 -
 300.138 -
 300.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 300.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 300.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 300.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 300.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 300.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 300.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 300.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 300.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 300.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 300.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 300.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 300.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 300.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 300.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 300.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 300.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.159 -            "\u00FF\u0000\u00BD\u009C\u00CF\u00BE\u00DD\u00F5" +
 300.160 -            "\u00F9\u00B8\u0000\u00AE\u00AA\u00F0\u00A9\u0000" +
 300.161 -            "\u00F8\u00F1\u00FD\u00FC\u00EF\u00E6\u00F4\u0000" +
 300.162 -            "\u00F7\u00FB\u0000\u00AF\u00AC\u00AB\u00F3\u0000" +
 300.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u009E" +
 300.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F6" +
 300.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.202 -            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 300.203 -            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
 300.204 -            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
 300.205 -            "\u0098\u0099\u009A\u0000\u0000\u0000\u0000\u0000" +
 300.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.208 -            "\u0000\u0000\u00F2\u0000\u0000\u0000\u0000\u0000" +
 300.209 -            "\u0000\u0000\u0000\u0000\u0000\u00FA\u0000\u0000" +
 300.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.213 -            "\u0000\u00EE\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.237 -            "\u0000\u0000\u0000\u00C4\u0000\u00B3\u0000\u0000" +
 300.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DA" +
 300.239 -            "\u0000\u0000\u0000\u00BF\u0000\u0000\u0000\u00C0" +
 300.240 -            "\u0000\u0000\u0000\u00D9\u0000\u0000\u0000\u00C3" +
 300.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B4" +
 300.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C2" +
 300.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C1" +
 300.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C5" +
 300.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.247 -            "\u0000\u0000\u0000\u00CD\u00BA\u0000\u0000\u00C9" +
 300.248 -            "\u0000\u0000\u00BB\u0000\u0000\u00C8\u0000\u0000" +
 300.249 -            "\u00BC\u0000\u0000\u00CC\u0000\u0000\u00B9\u0000" +
 300.250 -            "\u0000\u00CB\u0000\u0000\u00CA\u0000\u0000\u00CE" +
 300.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.253 -            "\u0000\u0000\u0000\u00DF\u0000\u0000\u0000\u00DC" +
 300.254 -            "\u0000\u0000\u0000\u00DB\u0000\u0000\u0000\u0000" +
 300.255 -            "\u0000\u0000\u0000\u0000\u00B0\u00B1\u00B2\u0000" +
 300.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.257 -            "\u0000\u0000\u0000\u00FE\u0000\u0000\u0000\u0000" +
 300.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 300.269 -            "\u0000\u0000\u0000";
 300.270 -
 300.271 -    private final static short index1[] = {
 300.272 -            0, 248, 248, 248, 248, 296, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 300.273 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 300.274 -            531, 248, 248, 248, 248, 787, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 300.275 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 300.276 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 300.277 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 300.278 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 300.279 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 300.280 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 300.281 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 300.282 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 300.283 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 300.284 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 300.285 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 300.286 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 300.287 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 300.288 -
 300.289 -        };
 300.290 -    }
 300.291 -}
   301.1 --- a/src/share/classes/sun/nio/cs/ext/IBM860.java	Wed Jan 14 21:35:03 2009 -0800
   301.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   301.3 @@ -1,348 +0,0 @@
   301.4 -
   301.5 -/*
   301.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   301.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   301.8 - *
   301.9 - * This code is free software; you can redistribute it and/or modify it
  301.10 - * under the terms of the GNU General Public License version 2 only, as
  301.11 - * published by the Free Software Foundation.  Sun designates this
  301.12 - * particular file as subject to the "Classpath" exception as provided
  301.13 - * by Sun in the LICENSE file that accompanied this code.
  301.14 - *
  301.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  301.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  301.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  301.18 - * version 2 for more details (a copy is included in the LICENSE file that
  301.19 - * accompanied this code).
  301.20 - *
  301.21 - * You should have received a copy of the GNU General Public License version
  301.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  301.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  301.24 - *
  301.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  301.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  301.27 - * have any questions.
  301.28 - */
  301.29 -
  301.30 -package sun.nio.cs.ext;
  301.31 -
  301.32 -
  301.33 -import java.nio.charset.Charset;
  301.34 -import java.nio.charset.CharsetDecoder;
  301.35 -import java.nio.charset.CharsetEncoder;
  301.36 -import sun.nio.cs.StandardCharsets;
  301.37 -import sun.nio.cs.SingleByteDecoder;
  301.38 -import sun.nio.cs.SingleByteEncoder;
  301.39 -import sun.nio.cs.HistoricallyNamedCharset;
  301.40 -
  301.41 -public class IBM860
  301.42 -    extends Charset
  301.43 -    implements HistoricallyNamedCharset
  301.44 -{
  301.45 -
  301.46 -    public IBM860() {
  301.47 -        super("IBM860", ExtendedCharsets.aliasesFor("IBM860"));
  301.48 -    }
  301.49 -
  301.50 -    public String historicalName() {
  301.51 -        return "Cp860";
  301.52 -    }
  301.53 -
  301.54 -    public boolean contains(Charset cs) {
  301.55 -        return (cs instanceof IBM860);
  301.56 -    }
  301.57 -
  301.58 -    public CharsetDecoder newDecoder() {
  301.59 -        return new Decoder(this);
  301.60 -    }
  301.61 -
  301.62 -    public CharsetEncoder newEncoder() {
  301.63 -        return new Encoder(this);
  301.64 -    }
  301.65 -
  301.66 -
  301.67 -    /**
  301.68 -     * These accessors are temporarily supplied while sun.io
  301.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  301.70 -     * These facilitate sharing of conversion tables between the
  301.71 -     * two co-existing implementations. When sun.io converters
  301.72 -     * are made extinct these will be unncessary and should be removed
  301.73 -     */
  301.74 -
  301.75 -    public String getDecoderSingleByteMappings() {
  301.76 -        return Decoder.byteToCharTable;
  301.77 -
  301.78 -    }
  301.79 -
  301.80 -    public short[] getEncoderIndex1() {
  301.81 -        return Encoder.index1;
  301.82 -
  301.83 -    }
  301.84 -    public String getEncoderIndex2() {
  301.85 -        return Encoder.index2;
  301.86 -
  301.87 -    }
  301.88 -
  301.89 -    private static class Decoder extends SingleByteDecoder {
  301.90 -            public Decoder(Charset cs) {
  301.91 -                super(cs, byteToCharTable);
  301.92 -        }
  301.93 -
  301.94 -        private final static String byteToCharTable =
  301.95 -
  301.96 -            "\u00C7\u00FC\u00E9\u00E2\u00E3\u00E0\u00C1\u00E7" +     // 0x80 - 0x87
  301.97 -            "\u00EA\u00CA\u00E8\u00CD\u00D4\u00EC\u00C3\u00C2" +     // 0x88 - 0x8F
  301.98 -            "\u00C9\u00C0\u00C8\u00F4\u00F5\u00F2\u00DA\u00F9" +     // 0x90 - 0x97
  301.99 -            "\u00CC\u00D5\u00DC\u00A2\u00A3\u00D9\u20A7\u00D3" +     // 0x98 - 0x9F
 301.100 -            "\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA" +     // 0xA0 - 0xA7
 301.101 -            "\u00BF\u00D2\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB" +     // 0xA8 - 0xAF
 301.102 -            "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" +     // 0xB0 - 0xB7
 301.103 -            "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" +     // 0xB8 - 0xBF
 301.104 -            "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" +     // 0xC0 - 0xC7
 301.105 -            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" +     // 0xC8 - 0xCF
 301.106 -            "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" +     // 0xD0 - 0xD7
 301.107 -            "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" +     // 0xD8 - 0xDF
 301.108 -            "\u03B1\u00DF\u0393\u03C0\u03A3\u03C3\u00B5\u03C4" +     // 0xE0 - 0xE7
 301.109 -            "\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229" +     // 0xE8 - 0xEF
 301.110 -            "\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248" +     // 0xF0 - 0xF7
 301.111 -            "\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0" +     // 0xF8 - 0xFF
 301.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 301.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 301.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 301.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 301.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 301.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 301.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 301.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 301.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 301.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 301.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 301.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 301.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 301.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 301.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 301.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 301.128 -
 301.129 -    }
 301.130 -
 301.131 -    private static class Encoder extends SingleByteEncoder {
 301.132 -            public Encoder(Charset cs) {
 301.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 301.134 -            }
 301.135 -
 301.136 -            private final static String index2 =
 301.137 -
 301.138 -
 301.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 301.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 301.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 301.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 301.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 301.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 301.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 301.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 301.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 301.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 301.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 301.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 301.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 301.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 301.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 301.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 301.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.159 -            "\u00FF\u00AD\u009B\u009C\u0000\u0000\u0000\u0000" +
 301.160 -            "\u0000\u0000\u00A6\u00AE\u00AA\u0000\u0000\u0000" +
 301.161 -            "\u00F8\u00F1\u00FD\u0000\u0000\u00E6\u0000\u00FA" +
 301.162 -            "\u0000\u0000\u00A7\u00AF\u00AC\u00AB\u0000\u00A8" +
 301.163 -            "\u0091\u0086\u008F\u008E\u0000\u0000\u0000\u0080" +
 301.164 -            "\u0092\u0090\u0089\u0000\u0098\u008B\u0000\u0000" +
 301.165 -            "\u0000\u00A5\u00A9\u009F\u008C\u0099\u0000\u0000" +
 301.166 -            "\u0000\u009D\u0096\u0000\u009A\u0000\u0000\u00E1" +
 301.167 -            "\u0085\u00A0\u0083\u0084\u0000\u0000\u0000\u0087" +
 301.168 -            "\u008A\u0082\u0088\u0000\u008D\u00A1\u0000\u0000" +
 301.169 -            "\u0000\u00A4\u0095\u00A2\u0093\u0094\u0000\u00F6" +
 301.170 -            "\u0000\u0097\u00A3\u0000\u0081\u0000\u0000\u0000" +
 301.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.202 -            "\u0000\u0000\u0000\u0000\u0000\u00E2\u0000\u0000" +
 301.203 -            "\u0000\u0000\u00E9\u0000\u0000\u0000\u0000\u0000" +
 301.204 -            "\u0000\u0000\u0000\u0000\u0000\u00E4\u0000\u0000" +
 301.205 -            "\u00E8\u0000\u0000\u00EA\u0000\u0000\u0000\u0000" +
 301.206 -            "\u0000\u0000\u0000\u00E0\u0000\u0000\u00EB\u00EE" +
 301.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.208 -            "\u0000\u0000\u00E3\u0000\u0000\u00E5\u00E7\u0000" +
 301.209 -            "\u00ED\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.225 -            "\u00FC\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.230 -            "\u009E\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.241 -            "\u0000\u00F9\u00FB\u0000\u0000\u0000\u00EC\u0000" +
 301.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.243 -            "\u0000\u00EF\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.247 -            "\u00F7\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.250 -            "\u0000\u00F0\u0000\u0000\u00F3\u00F2\u0000\u0000" +
 301.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.270 -            "\u00F4\u00F5\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.286 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.298 -            "\u00C4\u0000\u00B3\u0000\u0000\u0000\u0000\u0000" +
 301.299 -            "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" +
 301.300 -            "\u00BF\u0000\u0000\u0000\u00C0\u0000\u0000\u0000" +
 301.301 -            "\u00D9\u0000\u0000\u0000\u00C3\u0000\u0000\u0000" +
 301.302 -            "\u0000\u0000\u0000\u0000\u00B4\u0000\u0000\u0000" +
 301.303 -            "\u0000\u0000\u0000\u0000\u00C2\u0000\u0000\u0000" +
 301.304 -            "\u0000\u0000\u0000\u0000\u00C1\u0000\u0000\u0000" +
 301.305 -            "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" +
 301.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.307 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.308 -            "\u00CD\u00BA\u00D5\u00D6\u00C9\u00B8\u00B7\u00BB" +
 301.309 -            "\u00D4\u00D3\u00C8\u00BE\u00BD\u00BC\u00C6\u00C7" +
 301.310 -            "\u00CC\u00B5\u00B6\u00B9\u00D1\u00D2\u00CB\u00CF" +
 301.311 -            "\u00D0\u00CA\u00D8\u00D7\u00CE\u0000\u0000\u0000" +
 301.312 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.313 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.314 -            "\u00DF\u0000\u0000\u0000\u00DC\u0000\u0000\u0000" +
 301.315 -            "\u00DB\u0000\u0000\u0000\u00DD\u0000\u0000\u0000" +
 301.316 -            "\u00DE\u00B0\u00B1\u00B2\u0000\u0000\u0000\u0000" +
 301.317 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.318 -            "\u00FE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.319 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.320 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.321 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.322 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.323 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.324 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.325 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.326 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.327 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.328 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 301.329 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 301.330 -
 301.331 -    private final static short index1[] = {
 301.332 -            0, 253, 253, 362, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 301.333 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 301.334 -            561, 253, 792, 1016, 253, 1272, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 301.335 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 301.336 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 301.337 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 301.338 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 301.339 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 301.340 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 301.341 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 301.342 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 301.343 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 301.344 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 301.345 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 301.346 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 301.347 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 301.348 -
 301.349 -        };
 301.350 -    }
 301.351 -}
   302.1 --- a/src/share/classes/sun/nio/cs/ext/IBM861.java	Wed Jan 14 21:35:03 2009 -0800
   302.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   302.3 @@ -1,369 +0,0 @@
   302.4 -
   302.5 -/*
   302.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   302.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   302.8 - *
   302.9 - * This code is free software; you can redistribute it and/or modify it
  302.10 - * under the terms of the GNU General Public License version 2 only, as
  302.11 - * published by the Free Software Foundation.  Sun designates this
  302.12 - * particular file as subject to the "Classpath" exception as provided
  302.13 - * by Sun in the LICENSE file that accompanied this code.
  302.14 - *
  302.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  302.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  302.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  302.18 - * version 2 for more details (a copy is included in the LICENSE file that
  302.19 - * accompanied this code).
  302.20 - *
  302.21 - * You should have received a copy of the GNU General Public License version
  302.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  302.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  302.24 - *
  302.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  302.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  302.27 - * have any questions.
  302.28 - */
  302.29 -
  302.30 -package sun.nio.cs.ext;
  302.31 -
  302.32 -
  302.33 -import java.nio.charset.Charset;
  302.34 -import java.nio.charset.CharsetDecoder;
  302.35 -import java.nio.charset.CharsetEncoder;
  302.36 -import sun.nio.cs.StandardCharsets;
  302.37 -import sun.nio.cs.SingleByteDecoder;
  302.38 -import sun.nio.cs.SingleByteEncoder;
  302.39 -import sun.nio.cs.HistoricallyNamedCharset;
  302.40 -
  302.41 -public class IBM861
  302.42 -    extends Charset
  302.43 -    implements HistoricallyNamedCharset
  302.44 -{
  302.45 -
  302.46 -    public IBM861() {
  302.47 -        super("IBM861", ExtendedCharsets.aliasesFor("IBM861"));
  302.48 -    }
  302.49 -
  302.50 -    public String historicalName() {
  302.51 -        return "Cp861";
  302.52 -    }
  302.53 -
  302.54 -    public boolean contains(Charset cs) {
  302.55 -        return (cs instanceof IBM861);
  302.56 -    }
  302.57 -
  302.58 -    public CharsetDecoder newDecoder() {
  302.59 -        return new Decoder(this);
  302.60 -    }
  302.61 -
  302.62 -    public CharsetEncoder newEncoder() {
  302.63 -        return new Encoder(this);
  302.64 -    }
  302.65 -
  302.66 -
  302.67 -    /**
  302.68 -     * These accessors are temporarily supplied while sun.io
  302.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  302.70 -     * These facilitate sharing of conversion tables between the
  302.71 -     * two co-existing implementations. When sun.io converters
  302.72 -     * are made extinct these will be unncessary and should be removed
  302.73 -     */
  302.74 -
  302.75 -    public String getDecoderSingleByteMappings() {
  302.76 -        return Decoder.byteToCharTable;
  302.77 -
  302.78 -    }
  302.79 -
  302.80 -    public short[] getEncoderIndex1() {
  302.81 -        return Encoder.index1;
  302.82 -
  302.83 -    }
  302.84 -    public String getEncoderIndex2() {
  302.85 -        return Encoder.index2;
  302.86 -
  302.87 -    }
  302.88 -
  302.89 -    private static class Decoder extends SingleByteDecoder {
  302.90 -            public Decoder(Charset cs) {
  302.91 -                super(cs, byteToCharTable);
  302.92 -        }
  302.93 -
  302.94 -        private final static String byteToCharTable =
  302.95 -
  302.96 -            "\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7" +     // 0x80 - 0x87
  302.97 -            "\u00EA\u00EB\u00E8\u00D0\u00F0\u00DE\u00C4\u00C5" +     // 0x88 - 0x8F
  302.98 -            "\u00C9\u00E6\u00C6\u00F4\u00F6\u00FE\u00FB\u00DD" +     // 0x90 - 0x97
  302.99 -            "\u00FD\u00D6\u00DC\u00F8\u00A3\u00D8\u20A7\u0192" +     // 0x98 - 0x9F
 302.100 -            "\u00E1\u00ED\u00F3\u00FA\u00C1\u00CD\u00D3\u00DA" +     // 0xA0 - 0xA7
 302.101 -            "\u00BF\u2310\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB" +     // 0xA8 - 0xAF
 302.102 -            "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" +     // 0xB0 - 0xB7
 302.103 -            "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" +     // 0xB8 - 0xBF
 302.104 -            "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" +     // 0xC0 - 0xC7
 302.105 -            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" +     // 0xC8 - 0xCF
 302.106 -            "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" +     // 0xD0 - 0xD7
 302.107 -            "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" +     // 0xD8 - 0xDF
 302.108 -            "\u03B1\u00DF\u0393\u03C0\u03A3\u03C3\u00B5\u03C4" +     // 0xE0 - 0xE7
 302.109 -            "\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229" +     // 0xE8 - 0xEF
 302.110 -            "\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248" +     // 0xF0 - 0xF7
 302.111 -            "\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0" +     // 0xF8 - 0xFF
 302.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 302.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 302.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 302.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 302.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 302.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 302.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 302.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 302.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 302.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 302.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 302.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 302.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 302.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 302.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 302.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 302.128 -
 302.129 -    }
 302.130 -
 302.131 -    private static class Encoder extends SingleByteEncoder {
 302.132 -            public Encoder(Charset cs) {
 302.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 302.134 -            }
 302.135 -
 302.136 -            private final static String index2 =
 302.137 -
 302.138 -
 302.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 302.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 302.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 302.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 302.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 302.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 302.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 302.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 302.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 302.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 302.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 302.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 302.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 302.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 302.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 302.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 302.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.159 -            "\u00FF\u00AD\u0000\u009C\u0000\u0000\u0000\u0000" +
 302.160 -            "\u0000\u0000\u0000\u00AE\u00AA\u0000\u0000\u0000" +
 302.161 -            "\u00F8\u00F1\u00FD\u0000\u0000\u00E6\u0000\u00FA" +
 302.162 -            "\u0000\u0000\u0000\u00AF\u00AC\u00AB\u0000\u00A8" +
 302.163 -            "\u0000\u00A4\u0000\u0000\u008E\u008F\u0092\u0080" +
 302.164 -            "\u0000\u0090\u0000\u0000\u0000\u00A5\u0000\u0000" +
 302.165 -            "\u008B\u0000\u0000\u00A6\u0000\u0000\u0099\u0000" +
 302.166 -            "\u009D\u0000\u00A7\u0000\u009A\u0097\u008D\u00E1" +
 302.167 -            "\u0085\u00A0\u0083\u0000\u0084\u0086\u0091\u0087" +
 302.168 -            "\u008A\u0082\u0088\u0089\u0000\u00A1\u0000\u0000" +
 302.169 -            "\u008C\u0000\u0000\u00A2\u0093\u0000\u0094\u00F6" +
 302.170 -            "\u009B\u0000\u00A3\u0096\u0081\u0098\u0095\u0000" +
 302.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.189 -            "\u0000\u009F\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.221 -            "\u0000\u0000\u00E2\u0000\u0000\u0000\u0000\u00E9" +
 302.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.223 -            "\u0000\u0000\u00E4\u0000\u0000\u00E8\u0000\u0000" +
 302.224 -            "\u00EA\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.225 -            "\u00E0\u0000\u0000\u00EB\u00EE\u0000\u0000\u0000" +
 302.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E3" +
 302.227 -            "\u0000\u0000\u00E5\u00E7\u0000\u00ED\u0000\u0000" +
 302.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.243 -            "\u0000\u0000\u0000\u0000\u0000\u00FC\u0000\u0000" +
 302.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.248 -            "\u0000\u0000\u0000\u0000\u0000\u009E\u0000\u0000" +
 302.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F9\u00FB" +
 302.260 -            "\u0000\u0000\u0000\u00EC\u0000\u0000\u0000\u0000" +
 302.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00EF\u0000" +
 302.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.265 -            "\u0000\u0000\u0000\u0000\u0000\u00F7\u0000\u0000" +
 302.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F0\u0000" +
 302.269 -            "\u0000\u00F3\u00F2\u0000\u0000\u0000\u0000\u0000" +
 302.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.286 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.288 -            "\u0000\u0000\u0000\u0000\u0000\u00A9\u0000\u0000" +
 302.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.290 -            "\u0000\u0000\u0000\u0000\u0000\u00F4\u00F5\u0000" +
 302.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.307 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.308 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.309 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.310 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.311 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.312 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.313 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.314 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.315 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.316 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.317 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.318 -            "\u0000\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3" +
 302.319 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.320 -            "\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000" +
 302.321 -            "\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000" +
 302.322 -            "\u0000\u00C3\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.323 -            "\u0000\u00B4\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.324 -            "\u0000\u00C2\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.325 -            "\u0000\u00C1\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.326 -            "\u0000\u00C5\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.327 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.328 -            "\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA\u00D5" +
 302.329 -            "\u00D6\u00C9\u00B8\u00B7\u00BB\u00D4\u00D3\u00C8" +
 302.330 -            "\u00BE\u00BD\u00BC\u00C6\u00C7\u00CC\u00B5\u00B6" +
 302.331 -            "\u00B9\u00D1\u00D2\u00CB\u00CF\u00D0\u00CA\u00D8" +
 302.332 -            "\u00D7\u00CE\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.333 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.334 -            "\u0000\u0000\u0000\u0000\u0000\u00DF\u0000\u0000" +
 302.335 -            "\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000" +
 302.336 -            "\u0000\u00DD\u0000\u0000\u0000\u00DE\u00B0\u00B1" +
 302.337 -            "\u00B2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.338 -            "\u0000\u0000\u0000\u0000\u0000\u00FE\u0000\u0000" +
 302.339 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.340 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.341 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.342 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.343 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.344 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.345 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.346 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.347 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.348 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.349 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 302.350 -            "\u0000\u0000\u0000\u0000\u0000";
 302.351 -
 302.352 -    private final static short index1[] = {
 302.353 -            0, 255, 402, 511, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
 302.354 -            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
 302.355 -            710, 402, 941, 1181, 402, 1437, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
 302.356 -            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
 302.357 -            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
 302.358 -            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
 302.359 -            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
 302.360 -            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
 302.361 -            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
 302.362 -            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
 302.363 -            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
 302.364 -            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
 302.365 -            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
 302.366 -            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
 302.367 -            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
 302.368 -            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
 302.369 -
 302.370 -        };
 302.371 -    }
 302.372 -}
   303.1 --- a/src/share/classes/sun/nio/cs/ext/IBM863.java	Wed Jan 14 21:35:03 2009 -0800
   303.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   303.3 @@ -1,373 +0,0 @@
   303.4 -
   303.5 -/*
   303.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   303.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   303.8 - *
   303.9 - * This code is free software; you can redistribute it and/or modify it
  303.10 - * under the terms of the GNU General Public License version 2 only, as
  303.11 - * published by the Free Software Foundation.  Sun designates this
  303.12 - * particular file as subject to the "Classpath" exception as provided
  303.13 - * by Sun in the LICENSE file that accompanied this code.
  303.14 - *
  303.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  303.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  303.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  303.18 - * version 2 for more details (a copy is included in the LICENSE file that
  303.19 - * accompanied this code).
  303.20 - *
  303.21 - * You should have received a copy of the GNU General Public License version
  303.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  303.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  303.24 - *
  303.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  303.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  303.27 - * have any questions.
  303.28 - */
  303.29 -
  303.30 -package sun.nio.cs.ext;
  303.31 -
  303.32 -
  303.33 -import java.nio.charset.Charset;
  303.34 -import java.nio.charset.CharsetDecoder;
  303.35 -import java.nio.charset.CharsetEncoder;
  303.36 -import sun.nio.cs.StandardCharsets;
  303.37 -import sun.nio.cs.SingleByteDecoder;
  303.38 -import sun.nio.cs.SingleByteEncoder;
  303.39 -import sun.nio.cs.HistoricallyNamedCharset;
  303.40 -
  303.41 -public class IBM863
  303.42 -    extends Charset
  303.43 -    implements HistoricallyNamedCharset
  303.44 -{
  303.45 -
  303.46 -    public IBM863() {
  303.47 -        super("IBM863", ExtendedCharsets.aliasesFor("IBM863"));
  303.48 -    }
  303.49 -
  303.50 -    public String historicalName() {
  303.51 -        return "Cp863";
  303.52 -    }
  303.53 -
  303.54 -    public boolean contains(Charset cs) {
  303.55 -        return (cs instanceof IBM863);
  303.56 -    }
  303.57 -
  303.58 -    public CharsetDecoder newDecoder() {
  303.59 -        return new Decoder(this);
  303.60 -    }
  303.61 -
  303.62 -    public CharsetEncoder newEncoder() {
  303.63 -        return new Encoder(this);
  303.64 -    }
  303.65 -
  303.66 -
  303.67 -    /**
  303.68 -     * These accessors are temporarily supplied while sun.io
  303.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  303.70 -     * These facilitate sharing of conversion tables between the
  303.71 -     * two co-existing implementations. When sun.io converters
  303.72 -     * are made extinct these will be unncessary and should be removed
  303.73 -     */
  303.74 -
  303.75 -    public String getDecoderSingleByteMappings() {
  303.76 -        return Decoder.byteToCharTable;
  303.77 -
  303.78 -    }
  303.79 -
  303.80 -    public short[] getEncoderIndex1() {
  303.81 -        return Encoder.index1;
  303.82 -
  303.83 -    }
  303.84 -    public String getEncoderIndex2() {
  303.85 -        return Encoder.index2;
  303.86 -
  303.87 -    }
  303.88 -
  303.89 -    private static class Decoder extends SingleByteDecoder {
  303.90 -            public Decoder(Charset cs) {
  303.91 -                super(cs, byteToCharTable);
  303.92 -        }
  303.93 -
  303.94 -        private final static String byteToCharTable =
  303.95 -
  303.96 -            "\u00C7\u00FC\u00E9\u00E2\u00C2\u00E0\u00B6\u00E7" +     // 0x80 - 0x87
  303.97 -            "\u00EA\u00EB\u00E8\u00EF\u00EE\u2017\u00C0\u00A7" +     // 0x88 - 0x8F
  303.98 -            "\u00C9\u00C8\u00CA\u00F4\u00CB\u00CF\u00FB\u00F9" +     // 0x90 - 0x97
  303.99 -            "\u00A4\u00D4\u00DC\u00A2\u00A3\u00D9\u00DB\u0192" +     // 0x98 - 0x9F
 303.100 -            "\u00A6\u00B4\u00F3\u00FA\u00A8\u00B8\u00B3\u00AF" +     // 0xA0 - 0xA7
 303.101 -            "\u00CE\u2310\u00AC\u00BD\u00BC\u00BE\u00AB\u00BB" +     // 0xA8 - 0xAF
 303.102 -            "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" +     // 0xB0 - 0xB7
 303.103 -            "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" +     // 0xB8 - 0xBF
 303.104 -            "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" +     // 0xC0 - 0xC7
 303.105 -            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" +     // 0xC8 - 0xCF
 303.106 -            "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" +     // 0xD0 - 0xD7
 303.107 -            "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" +     // 0xD8 - 0xDF
 303.108 -            "\u03B1\u00DF\u0393\u03C0\u03A3\u03C3\u00B5\u03C4" +     // 0xE0 - 0xE7
 303.109 -            "\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229" +     // 0xE8 - 0xEF
 303.110 -            "\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248" +     // 0xF0 - 0xF7
 303.111 -            "\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0" +     // 0xF8 - 0xFF
 303.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 303.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 303.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 303.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 303.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 303.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 303.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 303.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 303.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 303.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 303.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 303.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 303.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 303.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 303.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 303.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 303.128 -
 303.129 -    }
 303.130 -
 303.131 -    private static class Encoder extends SingleByteEncoder {
 303.132 -            public Encoder(Charset cs) {
 303.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 303.134 -            }
 303.135 -
 303.136 -            private final static String index2 =
 303.137 -
 303.138 -
 303.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 303.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 303.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 303.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 303.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 303.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 303.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 303.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 303.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 303.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 303.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 303.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 303.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 303.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 303.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 303.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 303.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.159 -            "\u00FF\u0000\u009B\u009C\u0098\u0000\u00A0\u008F" +
 303.160 -            "\u00A4\u0000\u0000\u00AE\u00AA\u0000\u0000\u00A7" +
 303.161 -            "\u00F8\u00F1\u00FD\u00A6\u00A1\u00E6\u0086\u00FA" +
 303.162 -            "\u00A5\u0000\u0000\u00AF\u00AC\u00AB\u00AD\u0000" +
 303.163 -            "\u008E\u0000\u0084\u0000\u0000\u0000\u0000\u0080" +
 303.164 -            "\u0091\u0090\u0092\u0094\u0000\u0000\u00A8\u0095" +
 303.165 -            "\u0000\u0000\u0000\u0000\u0099\u0000\u0000\u0000" +
 303.166 -            "\u0000\u009D\u0000\u009E\u009A\u0000\u0000\u00E1" +
 303.167 -            "\u0085\u0000\u0083\u0000\u0000\u0000\u0000\u0087" +
 303.168 -            "\u008A\u0082\u0088\u0089\u0000\u0000\u008C\u008B" +
 303.169 -            "\u0000\u0000\u0000\u00A2\u0093\u0000\u0000\u00F6" +
 303.170 -            "\u0000\u0097\u00A3\u0096\u0081\u0000\u0000\u0000" +
 303.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u009F" +
 303.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.221 -            "\u00E2\u0000\u0000\u0000\u0000\u00E9\u0000\u0000" +
 303.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.223 -            "\u00E4\u0000\u0000\u00E8\u0000\u0000\u00EA\u0000" +
 303.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00E0\u0000" +
 303.225 -            "\u0000\u00EB\u00EE\u0000\u0000\u0000\u0000\u0000" +
 303.226 -            "\u0000\u0000\u0000\u0000\u0000\u00E3\u0000\u0000" +
 303.227 -            "\u00E5\u00E7\u0000\u00ED\u0000\u0000\u0000\u0000" +
 303.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.234 -            "\u0000\u0000\u0000\u0000\u0000\u008D\u0000\u0000" +
 303.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.247 -            "\u0000\u0000\u0000\u0000\u0000\u00FC\u0000\u0000" +
 303.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F9\u00FB" +
 303.264 -            "\u0000\u0000\u0000\u00EC\u0000\u0000\u0000\u0000" +
 303.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00EF\u0000" +
 303.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.269 -            "\u0000\u0000\u0000\u0000\u0000\u00F7\u0000\u0000" +
 303.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F0\u0000" +
 303.273 -            "\u0000\u00F3\u00F2\u0000\u0000\u0000\u0000\u0000" +
 303.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.286 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.292 -            "\u0000\u0000\u0000\u0000\u0000\u00A9\u0000\u0000" +
 303.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.294 -            "\u0000\u0000\u0000\u0000\u0000\u00F4\u00F5\u0000" +
 303.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.307 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.308 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.309 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.310 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.311 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.312 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.313 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.314 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.315 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.316 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.317 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.318 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.319 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.320 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.321 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.322 -            "\u0000\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3" +
 303.323 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.324 -            "\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000" +
 303.325 -            "\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000" +
 303.326 -            "\u0000\u00C3\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.327 -            "\u0000\u00B4\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.328 -            "\u0000\u00C2\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.329 -            "\u0000\u00C1\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.330 -            "\u0000\u00C5\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.331 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.332 -            "\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA\u00D5" +
 303.333 -            "\u00D6\u00C9\u00B8\u00B7\u00BB\u00D4\u00D3\u00C8" +
 303.334 -            "\u00BE\u00BD\u00BC\u00C6\u00C7\u00CC\u00B5\u00B6" +
 303.335 -            "\u00B9\u00D1\u00D2\u00CB\u00CF\u00D0\u00CA\u00D8" +
 303.336 -            "\u00D7\u00CE\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.337 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.338 -            "\u0000\u0000\u0000\u0000\u0000\u00DF\u0000\u0000" +
 303.339 -            "\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000" +
 303.340 -            "\u0000\u00DD\u0000\u0000\u0000\u00DE\u00B0\u00B1" +
 303.341 -            "\u00B2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.342 -            "\u0000\u0000\u0000\u0000\u0000\u00FE\u0000\u0000" +
 303.343 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.344 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.345 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.346 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.347 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.348 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.349 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.350 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.351 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.352 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.353 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 303.354 -            "\u0000\u0000\u0000\u0000\u0000";
 303.355 -
 303.356 -    private final static short index1[] = {
 303.357 -            0, 253, 400, 509, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 303.358 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 303.359 -            742, 400, 973, 1213, 400, 1469, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 303.360 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 303.361 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 303.362 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 303.363 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 303.364 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 303.365 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 303.366 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 303.367 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 303.368 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 303.369 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 303.370 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 303.371 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 303.372 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 303.373 -
 303.374 -        };
 303.375 -    }
 303.376 -}
   304.1 --- a/src/share/classes/sun/nio/cs/ext/IBM864.java	Wed Jan 14 21:35:03 2009 -0800
   304.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   304.3 @@ -1,342 +0,0 @@
   304.4 -
   304.5 -/*
   304.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   304.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   304.8 - *
   304.9 - * This code is free software; you can redistribute it and/or modify it
  304.10 - * under the terms of the GNU General Public License version 2 only, as
  304.11 - * published by the Free Software Foundation.  Sun designates this
  304.12 - * particular file as subject to the "Classpath" exception as provided
  304.13 - * by Sun in the LICENSE file that accompanied this code.
  304.14 - *
  304.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  304.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  304.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  304.18 - * version 2 for more details (a copy is included in the LICENSE file that
  304.19 - * accompanied this code).
  304.20 - *
  304.21 - * You should have received a copy of the GNU General Public License version
  304.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  304.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  304.24 - *
  304.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  304.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  304.27 - * have any questions.
  304.28 - */
  304.29 -
  304.30 -package sun.nio.cs.ext;
  304.31 -
  304.32 -
  304.33 -import java.nio.charset.Charset;
  304.34 -import java.nio.charset.CharsetDecoder;
  304.35 -import java.nio.charset.CharsetEncoder;
  304.36 -import sun.nio.cs.StandardCharsets;
  304.37 -import sun.nio.cs.SingleByteDecoder;
  304.38 -import sun.nio.cs.SingleByteEncoder;
  304.39 -import sun.nio.cs.HistoricallyNamedCharset;
  304.40 -
  304.41 -public class IBM864
  304.42 -    extends Charset
  304.43 -    implements HistoricallyNamedCharset
  304.44 -{
  304.45 -
  304.46 -    public IBM864() {
  304.47 -        super("IBM864", ExtendedCharsets.aliasesFor("IBM864"));
  304.48 -    }
  304.49 -
  304.50 -    public String historicalName() {
  304.51 -        return "Cp864";
  304.52 -    }
  304.53 -
  304.54 -    public boolean contains(Charset cs) {
  304.55 -        return (cs instanceof IBM864);
  304.56 -    }
  304.57 -
  304.58 -    public CharsetDecoder newDecoder() {
  304.59 -        return new Decoder(this);
  304.60 -    }
  304.61 -
  304.62 -    public CharsetEncoder newEncoder() {
  304.63 -        return new Encoder(this);
  304.64 -    }
  304.65 -
  304.66 -
  304.67 -    /**
  304.68 -     * These accessors are temporarily supplied while sun.io
  304.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  304.70 -     * These facilitate sharing of conversion tables between the
  304.71 -     * two co-existing implementations. When sun.io converters
  304.72 -     * are made extinct these will be unncessary and should be removed
  304.73 -     */
  304.74 -
  304.75 -    public String getDecoderSingleByteMappings() {
  304.76 -        return Decoder.byteToCharTable;
  304.77 -
  304.78 -    }
  304.79 -
  304.80 -    public short[] getEncoderIndex1() {
  304.81 -        return Encoder.index1;
  304.82 -
  304.83 -    }
  304.84 -    public String getEncoderIndex2() {
  304.85 -        return Encoder.index2;
  304.86 -
  304.87 -    }
  304.88 -
  304.89 -    private static class Decoder extends SingleByteDecoder {
  304.90 -            public Decoder(Charset cs) {
  304.91 -                super(cs, byteToCharTable);
  304.92 -        }
  304.93 -
  304.94 -        private final static String byteToCharTable =
  304.95 -
  304.96 -            "\u00B0\u00B7\u2219\u221A\u2592\u2500\u2502\u253C" +        // 0x80 - 0x87
  304.97 -            "\u2524\u252C\u251C\u2534\u2510\u250C\u2514\u2518" +        // 0x88 - 0x8F
  304.98 -            "\u03B2\u221E\u03C6\u00B1\u00BD\u00BC\u2248\u00AB" +        // 0x90 - 0x97
  304.99 -            "\u00BB\uFEF7\uFEF8\uFFFD\uFFFD\uFEFB\uFEFC\uFFFD" +        // 0x98 - 0x9F
 304.100 -            "\u00A0\u00AD\uFE82\u00A3\u00A4\uFE84\uFFFD\uFFFD" +        // 0xA0 - 0xA7
 304.101 -            "\uFE8E\uFE8F\uFE95\uFE99\u060C\uFE9D\uFEA1\uFEA5" +        // 0xA8 - 0xAF
 304.102 -            "\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667" +        // 0xB0 - 0xB7
 304.103 -            "\u0668\u0669\uFED1\u061B\uFEB1\uFEB5\uFEB9\u061F" +        // 0xB8 - 0xBF
 304.104 -            "\u00A2\uFE80\uFE81\uFE83\uFE85\uFECA\uFE8B\uFE8D" +        // 0xC0 - 0xC7
 304.105 -            "\uFE91\uFE93\uFE97\uFE9B\uFE9F\uFEA3\uFEA7\uFEA9" +        // 0xC8 - 0xCF
 304.106 -            "\uFEAB\uFEAD\uFEAF\uFEB3\uFEB7\uFEBB\uFEBF\uFEC1" +        // 0xD0 - 0xD7
 304.107 -            "\uFEC5\uFECB\uFECF\u00A6\u00AC\u00F7\u00D7\uFEC9" +        // 0xD8 - 0xDF
 304.108 -            "\u0640\uFED3\uFED7\uFEDB\uFEDF\uFEE3\uFEE7\uFEEB" +        // 0xE0 - 0xE7
 304.109 -            "\uFEED\uFEEF\uFEF3\uFEBD\uFECC\uFECE\uFECD\uFEE1" +        // 0xE8 - 0xEF
 304.110 -            "\uFE7D\u0651\uFEE5\uFEE9\uFEEC\uFEF0\uFEF2\uFED0" +        // 0xF0 - 0xF7
 304.111 -            "\uFED5\uFEF5\uFEF6\uFEDD\uFED9\uFEF1\u25A0\uFFFD" +        // 0xF8 - 0xFF
 304.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 304.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 304.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 304.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 304.116 -            "\u0020\u0021\"\u0023\u0024\u066A\u0026\'" +        // 0x20 - 0x27
 304.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 304.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 304.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 304.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 304.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 304.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 304.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 304.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 304.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 304.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 304.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 304.128 -
 304.129 -    }
 304.130 -
 304.131 -    private static class Encoder extends SingleByteEncoder {
 304.132 -            public Encoder(Charset cs) {
 304.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 304.134 -            }
 304.135 -
 304.136 -            private final static String index2 =
 304.137 -
 304.138 -
 304.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 304.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 304.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 304.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 304.143 -            "\u0020\u0021\"\u0023\u0024\u0000\u0026\'" +
 304.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 304.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 304.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 304.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 304.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 304.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 304.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 304.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 304.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 304.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 304.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 304.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.159 -            "\u00A0\u0000\u00C0\u00A3\u00A4\u0000\u00DB\u0000" +
 304.160 -            "\u0000\u0000\u0000\u0097\u00DC\u00A1\u0000\u0000" +
 304.161 -            "\u0080\u0093\u0000\u0000\u0000\u0000\u0000\u0081" +
 304.162 -            "\u0000\u0000\u0000\u0098\u0095\u0094\u0000\u0000" +
 304.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DE" +
 304.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DD" +
 304.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.202 -            "\u0090\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.204 -            "\u0000\u0000\u0000\u0000\u0092\u0000\u0000\u0000" +
 304.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00AC\u0000" +
 304.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.213 -            "\u0000\u0000\u0000\u0000\u0000\u00BB\u0000\u0000" +
 304.214 -            "\u0000\u00BF\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.218 -            "\u0000\u0000\u00E0\u0000\u0000\u0000\u0000\u0000" +
 304.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.220 -            "\u0000\u0000\u0000\u00F1\u0000\u0000\u0000\u0000" +
 304.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.222 -            "\u0000\u0000\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5" +
 304.223 -            "\u00B6\u00B7\u00B8\u00B9\u0025\u0000\u0000\u0000" +
 304.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.242 -            "\u0000\u0000\u0082\u0083\u0000\u0000\u0000\u0091" +
 304.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.248 -            "\u0000\u0096\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.271 -            "\u0000\u0085\u0000\u0086\u0000\u0000\u0000\u0000" +
 304.272 -            "\u0000\u0000\u0000\u0000\u0000\u008D\u0000\u0000" +
 304.273 -            "\u0000\u008C\u0000\u0000\u0000\u008E\u0000\u0000" +
 304.274 -            "\u0000\u008F\u0000\u0000\u0000\u008A\u0000\u0000" +
 304.275 -            "\u0000\u0000\u0000\u0000\u0000\u0088\u0000\u0000" +
 304.276 -            "\u0000\u0000\u0000\u0000\u0000\u0089\u0000\u0000" +
 304.277 -            "\u0000\u0000\u0000\u0000\u0000\u008B\u0000\u0000" +
 304.278 -            "\u0000\u0000\u0000\u0000\u0000\u0087\u0000\u0000" +
 304.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.286 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.289 -            "\u0000\u0000\u0000\u0084\u0000\u0000\u0000\u0000" +
 304.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.291 -            "\u0000\u00FE\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 304.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F0" +
 304.307 -            "\u0000\u0000\u00C1\u00C2\u00A2\u00C3\u00A5\u00C4" +
 304.308 -            "\u0000\u0000\u0000\u0000\u0000\u00C6\u0000\u00C7" +
 304.309 -            "\u00A8\u00A9\u0000\u00C8\u0000\u00C9\u0000\u00AA" +
 304.310 -            "\u0000\u00CA\u0000\u00AB\u0000\u00CB\u0000\u00AD" +
 304.311 -            "\u0000\u00CC\u0000\u00AE\u0000\u00CD\u0000\u00AF" +
 304.312 -            "\u0000\u00CE\u0000\u00CF\u0000\u00D0\u0000\u00D1" +
 304.313 -            "\u0000\u00D2\u0000\u00BC\u0000\u00D3\u0000\u00BD" +
 304.314 -            "\u0000\u00D4\u0000\u00BE\u0000\u00D5\u0000\u00EB" +
 304.315 -            "\u0000\u00D6\u0000\u00D7\u0000\u0000\u0000\u00D8" +
 304.316 -            "\u0000\u0000\u0000\u00DF\u00C5\u00D9\u00EC\u00EE" +
 304.317 -            "\u00ED\u00DA\u00F7\u00BA\u0000\u00E1\u0000\u00F8" +
 304.318 -            "\u0000\u00E2\u0000\u00FC\u0000\u00E3\u0000\u00FB" +
 304.319 -            "\u0000\u00E4\u0000\u00EF\u0000\u00E5\u0000\u00F2" +
 304.320 -            "\u0000\u00E6\u0000\u00F3\u0000\u00E7\u00F4\u00E8" +
 304.321 -            "\u0000\u00E9\u00F5\u00FD\u00F6\u00EA\u0000\u00F9" +
 304.322 -            "\u00FA\u0099\u009A\u0000\u0000\u009D\u009E\u0000" +
 304.323 -            "\u0000\u0000";
 304.324 -
 304.325 -    private final static short index1[] = {
 304.326 -            0, 248, 248, 326, 248, 248, 570, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 304.327 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 304.328 -            248, 248, 801, 248, 248, 1057, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 304.329 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 304.330 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 304.331 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 304.332 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 304.333 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 304.334 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 304.335 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 304.336 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 304.337 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 304.338 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 304.339 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 304.340 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 304.341 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 1218, 248,
 304.342 -
 304.343 -        };
 304.344 -    }
 304.345 -}
   305.1 --- a/src/share/classes/sun/nio/cs/ext/IBM865.java	Wed Jan 14 21:35:03 2009 -0800
   305.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   305.3 @@ -1,369 +0,0 @@
   305.4 -
   305.5 -/*
   305.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   305.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   305.8 - *
   305.9 - * This code is free software; you can redistribute it and/or modify it
  305.10 - * under the terms of the GNU General Public License version 2 only, as
  305.11 - * published by the Free Software Foundation.  Sun designates this
  305.12 - * particular file as subject to the "Classpath" exception as provided
  305.13 - * by Sun in the LICENSE file that accompanied this code.
  305.14 - *
  305.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  305.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  305.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  305.18 - * version 2 for more details (a copy is included in the LICENSE file that
  305.19 - * accompanied this code).
  305.20 - *
  305.21 - * You should have received a copy of the GNU General Public License version
  305.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  305.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  305.24 - *
  305.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  305.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  305.27 - * have any questions.
  305.28 - */
  305.29 -
  305.30 -package sun.nio.cs.ext;
  305.31 -
  305.32 -
  305.33 -import java.nio.charset.Charset;
  305.34 -import java.nio.charset.CharsetDecoder;
  305.35 -import java.nio.charset.CharsetEncoder;
  305.36 -import sun.nio.cs.StandardCharsets;
  305.37 -import sun.nio.cs.SingleByteDecoder;
  305.38 -import sun.nio.cs.SingleByteEncoder;
  305.39 -import sun.nio.cs.HistoricallyNamedCharset;
  305.40 -
  305.41 -public class IBM865
  305.42 -    extends Charset
  305.43 -    implements HistoricallyNamedCharset
  305.44 -{
  305.45 -
  305.46 -    public IBM865() {
  305.47 -        super("IBM865", ExtendedCharsets.aliasesFor("IBM865"));
  305.48 -    }
  305.49 -
  305.50 -    public String historicalName() {
  305.51 -        return "Cp865";
  305.52 -    }
  305.53 -
  305.54 -    public boolean contains(Charset cs) {
  305.55 -        return (cs instanceof IBM865);
  305.56 -    }
  305.57 -
  305.58 -    public CharsetDecoder newDecoder() {
  305.59 -        return new Decoder(this);
  305.60 -    }
  305.61 -
  305.62 -    public CharsetEncoder newEncoder() {
  305.63 -        return new Encoder(this);
  305.64 -    }
  305.65 -
  305.66 -
  305.67 -    /**
  305.68 -     * These accessors are temporarily supplied while sun.io
  305.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  305.70 -     * These facilitate sharing of conversion tables between the
  305.71 -     * two co-existing implementations. When sun.io converters
  305.72 -     * are made extinct these will be unncessary and should be removed
  305.73 -     */
  305.74 -
  305.75 -    public String getDecoderSingleByteMappings() {
  305.76 -        return Decoder.byteToCharTable;
  305.77 -
  305.78 -    }
  305.79 -
  305.80 -    public short[] getEncoderIndex1() {
  305.81 -        return Encoder.index1;
  305.82 -
  305.83 -    }
  305.84 -    public String getEncoderIndex2() {
  305.85 -        return Encoder.index2;
  305.86 -
  305.87 -    }
  305.88 -
  305.89 -    private static class Decoder extends SingleByteDecoder {
  305.90 -            public Decoder(Charset cs) {
  305.91 -                super(cs, byteToCharTable);
  305.92 -        }
  305.93 -
  305.94 -        private final static String byteToCharTable =
  305.95 -
  305.96 -            "\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7" +     // 0x80 - 0x87
  305.97 -            "\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5" +     // 0x88 - 0x8F
  305.98 -            "\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9" +     // 0x90 - 0x97
  305.99 -            "\u00FF\u00D6\u00DC\u00F8\u00A3\u00D8\u20A7\u0192" +     // 0x98 - 0x9F
 305.100 -            "\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA" +     // 0xA0 - 0xA7
 305.101 -            "\u00BF\u2310\u00AC\u00BD\u00BC\u00A1\u00AB\u00A4" +     // 0xA8 - 0xAF
 305.102 -            "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" +     // 0xB0 - 0xB7
 305.103 -            "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" +     // 0xB8 - 0xBF
 305.104 -            "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" +     // 0xC0 - 0xC7
 305.105 -            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" +     // 0xC8 - 0xCF
 305.106 -            "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" +     // 0xD0 - 0xD7
 305.107 -            "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" +     // 0xD8 - 0xDF
 305.108 -            "\u03B1\u00DF\u0393\u03C0\u03A3\u03C3\u00B5\u03C4" +     // 0xE0 - 0xE7
 305.109 -            "\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229" +     // 0xE8 - 0xEF
 305.110 -            "\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248" +     // 0xF0 - 0xF7
 305.111 -            "\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0" +     // 0xF8 - 0xFF
 305.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 305.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 305.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 305.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 305.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 305.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 305.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 305.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 305.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 305.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 305.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 305.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 305.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 305.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 305.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 305.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 305.128 -
 305.129 -    }
 305.130 -
 305.131 -    private static class Encoder extends SingleByteEncoder {
 305.132 -            public Encoder(Charset cs) {
 305.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 305.134 -            }
 305.135 -
 305.136 -            private final static String index2 =
 305.137 -
 305.138 -
 305.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 305.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 305.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 305.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 305.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 305.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 305.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 305.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 305.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 305.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 305.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 305.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 305.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 305.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 305.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 305.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 305.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.159 -            "\u00FF\u00AD\u0000\u009C\u00AF\u0000\u0000\u0000" +
 305.160 -            "\u0000\u0000\u00A6\u00AE\u00AA\u0000\u0000\u0000" +
 305.161 -            "\u00F8\u00F1\u00FD\u0000\u0000\u00E6\u0000\u00FA" +
 305.162 -            "\u0000\u0000\u00A7\u0000\u00AC\u00AB\u0000\u00A8" +
 305.163 -            "\u0000\u0000\u0000\u0000\u008E\u008F\u0092\u0080" +
 305.164 -            "\u0000\u0090\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.165 -            "\u0000\u00A5\u0000\u0000\u0000\u0000\u0099\u0000" +
 305.166 -            "\u009D\u0000\u0000\u0000\u009A\u0000\u0000\u00E1" +
 305.167 -            "\u0085\u00A0\u0083\u0000\u0084\u0086\u0091\u0087" +
 305.168 -            "\u008A\u0082\u0088\u0089\u008D\u00A1\u008C\u008B" +
 305.169 -            "\u0000\u00A4\u0095\u00A2\u0093\u0000\u0094\u00F6" +
 305.170 -            "\u009B\u0097\u00A3\u0096\u0081\u0000\u0000\u0098" +
 305.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.189 -            "\u0000\u0000\u009F\u0000\u0000\u0000\u0000\u0000" +
 305.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.221 -            "\u0000\u0000\u0000\u00E2\u0000\u0000\u0000\u0000" +
 305.222 -            "\u00E9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.223 -            "\u0000\u0000\u0000\u00E4\u0000\u0000\u00E8\u0000" +
 305.224 -            "\u0000\u00EA\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.225 -            "\u0000\u00E0\u0000\u0000\u00EB\u00EE\u0000\u0000" +
 305.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.227 -            "\u00E3\u0000\u0000\u00E5\u00E7\u0000\u00ED\u0000" +
 305.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00FC\u0000" +
 305.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u009E\u0000" +
 305.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F9" +
 305.260 -            "\u00FB\u0000\u0000\u0000\u00EC\u0000\u0000\u0000" +
 305.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00EF" +
 305.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F7\u0000" +
 305.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F0" +
 305.269 -            "\u0000\u0000\u00F3\u00F2\u0000\u0000\u0000\u0000" +
 305.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.286 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00A9\u0000" +
 305.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F4\u00F5" +
 305.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.307 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.308 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.309 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.310 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.311 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.312 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.313 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.314 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.315 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.316 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.317 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.318 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00C4\u0000" +
 305.319 -            "\u00B3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.320 -            "\u0000\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000" +
 305.321 -            "\u0000\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000" +
 305.322 -            "\u0000\u0000\u00C3\u0000\u0000\u0000\u0000\u0000" +
 305.323 -            "\u0000\u0000\u00B4\u0000\u0000\u0000\u0000\u0000" +
 305.324 -            "\u0000\u0000\u00C2\u0000\u0000\u0000\u0000\u0000" +
 305.325 -            "\u0000\u0000\u00C1\u0000\u0000\u0000\u0000\u0000" +
 305.326 -            "\u0000\u0000\u00C5\u0000\u0000\u0000\u0000\u0000" +
 305.327 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.328 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA" +
 305.329 -            "\u00D5\u00D6\u00C9\u00B8\u00B7\u00BB\u00D4\u00D3" +
 305.330 -            "\u00C8\u00BE\u00BD\u00BC\u00C6\u00C7\u00CC\u00B5" +
 305.331 -            "\u00B6\u00B9\u00D1\u00D2\u00CB\u00CF\u00D0\u00CA" +
 305.332 -            "\u00D8\u00D7\u00CE\u0000\u0000\u0000\u0000\u0000" +
 305.333 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.334 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00DF\u0000" +
 305.335 -            "\u0000\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000" +
 305.336 -            "\u0000\u0000\u00DD\u0000\u0000\u0000\u00DE\u00B0" +
 305.337 -            "\u00B1\u00B2\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.338 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00FE\u0000" +
 305.339 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.340 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.341 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.342 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.343 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.344 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.345 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.346 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.347 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.348 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.349 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 305.350 -            "\u0000\u0000\u0000\u0000\u0000\u0000";
 305.351 -
 305.352 -    private final static short index1[] = {
 305.353 -            0, 256, 403, 512, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 305.354 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 305.355 -            711, 403, 942, 1182, 403, 1438, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 305.356 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 305.357 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 305.358 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 305.359 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 305.360 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 305.361 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 305.362 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 305.363 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 305.364 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 305.365 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 305.366 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 305.367 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 305.368 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 305.369 -
 305.370 -        };
 305.371 -    }
 305.372 -}
   306.1 --- a/src/share/classes/sun/nio/cs/ext/IBM868.java	Wed Jan 14 21:35:03 2009 -0800
   306.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   306.3 @@ -1,359 +0,0 @@
   306.4 -
   306.5 -/*
   306.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   306.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   306.8 - *
   306.9 - * This code is free software; you can redistribute it and/or modify it
  306.10 - * under the terms of the GNU General Public License version 2 only, as
  306.11 - * published by the Free Software Foundation.  Sun designates this
  306.12 - * particular file as subject to the "Classpath" exception as provided
  306.13 - * by Sun in the LICENSE file that accompanied this code.
  306.14 - *
  306.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  306.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  306.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  306.18 - * version 2 for more details (a copy is included in the LICENSE file that
  306.19 - * accompanied this code).
  306.20 - *
  306.21 - * You should have received a copy of the GNU General Public License version
  306.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  306.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  306.24 - *
  306.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  306.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  306.27 - * have any questions.
  306.28 - */
  306.29 -
  306.30 -package sun.nio.cs.ext;
  306.31 -
  306.32 -
  306.33 -import java.nio.charset.Charset;
  306.34 -import java.nio.charset.CharsetDecoder;
  306.35 -import java.nio.charset.CharsetEncoder;
  306.36 -import sun.nio.cs.StandardCharsets;
  306.37 -import sun.nio.cs.SingleByteDecoder;
  306.38 -import sun.nio.cs.SingleByteEncoder;
  306.39 -import sun.nio.cs.HistoricallyNamedCharset;
  306.40 -
  306.41 -public class IBM868
  306.42 -    extends Charset
  306.43 -    implements HistoricallyNamedCharset
  306.44 -{
  306.45 -
  306.46 -    public IBM868() {
  306.47 -        super("IBM868", ExtendedCharsets.aliasesFor("IBM868"));
  306.48 -    }
  306.49 -
  306.50 -    public String historicalName() {
  306.51 -        return "Cp868";
  306.52 -    }
  306.53 -
  306.54 -    public boolean contains(Charset cs) {
  306.55 -        return (cs instanceof IBM868);
  306.56 -    }
  306.57 -
  306.58 -    public CharsetDecoder newDecoder() {
  306.59 -        return new Decoder(this);
  306.60 -    }
  306.61 -
  306.62 -    public CharsetEncoder newEncoder() {
  306.63 -        return new Encoder(this);
  306.64 -    }
  306.65 -
  306.66 -
  306.67 -    /**
  306.68 -     * These accessors are temporarily supplied while sun.io
  306.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  306.70 -     * These facilitate sharing of conversion tables between the
  306.71 -     * two co-existing implementations. When sun.io converters
  306.72 -     * are made extinct these will be unncessary and should be removed
  306.73 -     */
  306.74 -
  306.75 -    public String getDecoderSingleByteMappings() {
  306.76 -        return Decoder.byteToCharTable;
  306.77 -
  306.78 -    }
  306.79 -
  306.80 -    public short[] getEncoderIndex1() {
  306.81 -        return Encoder.index1;
  306.82 -
  306.83 -    }
  306.84 -    public String getEncoderIndex2() {
  306.85 -        return Encoder.index2;
  306.86 -
  306.87 -    }
  306.88 -
  306.89 -    private static class Decoder extends SingleByteDecoder {
  306.90 -            public Decoder(Charset cs) {
  306.91 -                super(cs, byteToCharTable);
  306.92 -        }
  306.93 -
  306.94 -        private final static String byteToCharTable =
  306.95 -
  306.96 -            "\u06F0\u06F1\u06F2\u06F3\u06F4\u06F5\u06F6\u06F7" +        // 0x80 - 0x87
  306.97 -            "\u06F8\u06F9\u060C\u061B\u061F\uFE81\uFE8D\uFE8E" +        // 0x88 - 0x8F
  306.98 -            "\uF8FB\uFE8F\uFE91\uFB56\uFB58\uFE93\uFE95\uFE97" +        // 0x90 - 0x97
  306.99 -            "\uFB66\uFB68\uFE99\uFE9B\uFE9D\uFE9F\uFB7A\uFB7C" +        // 0x98 - 0x9F
 306.100 -            "\uFEA1\uFEA3\uFEA5\uFEA7\uFEA9\uFB88\uFEAB\uFEAD" +        // 0xA0 - 0xA7
 306.101 -            "\uFB8C\uFEAF\uFB8A\uFEB1\uFEB3\uFEB5\u00AB\u00BB" +        // 0xA8 - 0xAF
 306.102 -            "\u2591\u2592\u2593\u2502\u2524\uFEB7\uFEB9\uFEBB" +        // 0xB0 - 0xB7
 306.103 -            "\uFEBD\u2563\u2551\u2557\u255D\uFEBF\uFEC3\u2510" +        // 0xB8 - 0xBF
 306.104 -            "\u2514\u2534\u252C\u251C\u2500\u253C\uFEC7\uFEC9" +        // 0xC0 - 0xC7
 306.105 -            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\uFECA" +        // 0xC8 - 0xCF
 306.106 -            "\uFECB\uFECC\uFECD\uFECE\uFECF\uFED0\uFED1\uFED3" +        // 0xD0 - 0xD7
 306.107 -            "\uFED5\u2518\u250C\u2588\u2584\uFED7\uFB8E\u2580" +        // 0xD8 - 0xDF
 306.108 -            "\uFEDB\uFB92\uFB94\uFEDD\uFEDF\uFEE0\uFEE1\uFEE3" +        // 0xE0 - 0xE7
 306.109 -            "\uFB9E\uFEE5\uFEE7\uFE85\uFEED\uFBA6\uFBA8\uFBA9" +        // 0xE8 - 0xEF
 306.110 -            "\u00AD\uFBAA\uFE80\uFE89\uFE8A\uFE8B\uFBFC\uFBFD" +        // 0xF0 - 0xF7
 306.111 -            "\uFBFE\uFBB0\uFBAE\uFE7C\uFE7D\uFFFD\u25A0\u00A0" +        // 0xF8 - 0xFF
 306.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 306.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 306.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 306.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 306.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 306.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 306.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 306.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 306.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 306.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 306.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 306.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 306.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 306.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 306.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 306.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 306.128 -
 306.129 -    }
 306.130 -
 306.131 -    private static class Encoder extends SingleByteEncoder {
 306.132 -            public Encoder(Charset cs) {
 306.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 306.134 -            }
 306.135 -
 306.136 -            private final static String index2 =
 306.137 -
 306.138 -
 306.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 306.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 306.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 306.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 306.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 306.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 306.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 306.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 306.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 306.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 306.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 306.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 306.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 306.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 306.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 306.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 306.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.159 -            "\u00FF\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.160 -            "\u0000\u0000\u0000\u00AE\u0000\u00F0\u0000\u0000" +
 306.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.162 -            "\u0000\u0000\u0000\u00AF\u0000\u0000\u0000\u0000" +
 306.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.194 -            "\u0000\u0000\u0000\u0000\u008A\u0000\u0000\u0000" +
 306.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.196 -            "\u0000\u0000\u0000\u008B\u0000\u0000\u0000\u008C" +
 306.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.223 -            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 306.224 -            "\u0088\u0089\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.225 -            "\u00C4\u0000\u00B3\u0000\u0000\u0000\u0000\u0000" +
 306.226 -            "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" +
 306.227 -            "\u00BF\u0000\u0000\u0000\u00C0\u0000\u0000\u0000" +
 306.228 -            "\u00D9\u0000\u0000\u0000\u00C3\u0000\u0000\u0000" +
 306.229 -            "\u0000\u0000\u0000\u0000\u00B4\u0000\u0000\u0000" +
 306.230 -            "\u0000\u0000\u0000\u0000\u00C2\u0000\u0000\u0000" +
 306.231 -            "\u0000\u0000\u0000\u0000\u00C1\u0000\u0000\u0000" +
 306.232 -            "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" +
 306.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.235 -            "\u00CD\u00BA\u0000\u0000\u00C9\u0000\u0000\u00BB" +
 306.236 -            "\u0000\u0000\u00C8\u0000\u0000\u00BC\u0000\u0000" +
 306.237 -            "\u00CC\u0000\u0000\u00B9\u0000\u0000\u00CB\u0000" +
 306.238 -            "\u0000\u00CA\u0000\u0000\u00CE\u0000\u0000\u0000" +
 306.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.241 -            "\u00DF\u0000\u0000\u0000\u00DC\u0000\u0000\u0000" +
 306.242 -            "\u00DB\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.243 -            "\u0000\u00B0\u00B1\u00B2\u0000\u0000\u0000\u0000" +
 306.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.245 -            "\u00FE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.276 -            "\u0000\u0000\u0000\u0000\u0090\u0000\u0000\u0000" +
 306.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.286 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.287 -            "\u0000\u0000\u0000\u0093\u0000\u0094\u0000\u0000" +
 306.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.289 -            "\u0000\u0000\u0000\u0098\u0000\u0099\u0000\u0000" +
 306.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u009E" +
 306.292 -            "\u0000\u009F\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.293 -            "\u0000\u0000\u0000\u0000\u0000\u00A5\u0000\u00AA" +
 306.294 -            "\u0000\u00A8\u0000\u00DE\u0000\u0000\u0000\u00E1" +
 306.295 -            "\u0000\u00E2\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.296 -            "\u0000\u0000\u0000\u00E8\u0000\u0000\u0000\u0000" +
 306.297 -            "\u0000\u0000\u0000\u00ED\u0000\u00EE\u00EF\u00F1" +
 306.298 -            "\u0000\u0000\u0000\u00FA\u0000\u00F9\u0000\u0000" +
 306.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.307 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.308 -            "\u0000\u00F6\u00F7\u00F8\u0000\u0000\u0000\u0000" +
 306.309 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.310 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.311 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.312 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.313 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.314 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.315 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.316 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.317 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.318 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.319 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.320 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.321 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.322 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.323 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.324 -            "\u00FB\u00FC\u0000\u0000\u00F2\u008D\u0000\u0000" +
 306.325 -            "\u0000\u00EB\u0000\u0000\u0000\u00F3\u00F4\u00F5" +
 306.326 -            "\u0000\u008E\u008F\u0091\u0000\u0092\u0000\u0095" +
 306.327 -            "\u0000\u0096\u0000\u0097\u0000\u009A\u0000\u009B" +
 306.328 -            "\u0000\u009C\u0000\u009D\u0000\u00A0\u0000\u00A1" +
 306.329 -            "\u0000\u00A2\u0000\u00A3\u0000\u00A4\u0000\u00A6" +
 306.330 -            "\u0000\u00A7\u0000\u00A9\u0000\u00AB\u0000\u00AC" +
 306.331 -            "\u0000\u00AD\u0000\u00B5\u0000\u00B6\u0000\u00B7" +
 306.332 -            "\u0000\u00B8\u0000\u00BD\u0000\u0000\u0000\u00BE" +
 306.333 -            "\u0000\u0000\u0000\u00C6\u0000\u00C7\u00CF\u00D0" +
 306.334 -            "\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u0000\u00D7" +
 306.335 -            "\u0000\u00D8\u0000\u00DD\u0000\u0000\u0000\u00E0" +
 306.336 -            "\u0000\u00E3\u0000\u00E4\u00E5\u00E6\u0000\u00E7" +
 306.337 -            "\u0000\u00E9\u0000\u00EA\u0000\u0000\u0000\u0000" +
 306.338 -            "\u0000\u00EC\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.339 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 306.340 -            "\u0000\u0000\u0000\u0000";
 306.341 -
 306.342 -    private final static short index1[] = {
 306.343 -            0, 188, 188, 188, 188, 188, 432, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 306.344 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 306.345 -            188, 188, 188, 188, 188, 688, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 306.346 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 306.347 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 306.348 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 306.349 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 306.350 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 306.351 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 306.352 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 306.353 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 306.354 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 306.355 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 306.356 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 306.357 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 306.358 -            188, 188, 188, 188, 188, 188, 188, 188, 849, 188, 188, 1101, 188, 188, 1356, 188,
 306.359 -
 306.360 -        };
 306.361 -    }
 306.362 -}
   307.1 --- a/src/share/classes/sun/nio/cs/ext/IBM869.java	Wed Jan 14 21:35:03 2009 -0800
   307.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   307.3 @@ -1,290 +0,0 @@
   307.4 -
   307.5 -/*
   307.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   307.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   307.8 - *
   307.9 - * This code is free software; you can redistribute it and/or modify it
  307.10 - * under the terms of the GNU General Public License version 2 only, as
  307.11 - * published by the Free Software Foundation.  Sun designates this
  307.12 - * particular file as subject to the "Classpath" exception as provided
  307.13 - * by Sun in the LICENSE file that accompanied this code.
  307.14 - *
  307.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  307.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  307.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  307.18 - * version 2 for more details (a copy is included in the LICENSE file that
  307.19 - * accompanied this code).
  307.20 - *
  307.21 - * You should have received a copy of the GNU General Public License version
  307.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  307.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  307.24 - *
  307.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  307.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  307.27 - * have any questions.
  307.28 - */
  307.29 -
  307.30 -package sun.nio.cs.ext;
  307.31 -
  307.32 -
  307.33 -import java.nio.charset.Charset;
  307.34 -import java.nio.charset.CharsetDecoder;
  307.35 -import java.nio.charset.CharsetEncoder;
  307.36 -import sun.nio.cs.StandardCharsets;
  307.37 -import sun.nio.cs.SingleByteDecoder;
  307.38 -import sun.nio.cs.SingleByteEncoder;
  307.39 -import sun.nio.cs.HistoricallyNamedCharset;
  307.40 -
  307.41 -public class IBM869
  307.42 -    extends Charset
  307.43 -    implements HistoricallyNamedCharset
  307.44 -{
  307.45 -
  307.46 -    public IBM869() {
  307.47 -        super("IBM869", ExtendedCharsets.aliasesFor("IBM869"));
  307.48 -    }
  307.49 -
  307.50 -    public String historicalName() {
  307.51 -        return "Cp869";
  307.52 -    }
  307.53 -
  307.54 -    public boolean contains(Charset cs) {
  307.55 -        return (cs instanceof IBM869);
  307.56 -    }
  307.57 -
  307.58 -    public CharsetDecoder newDecoder() {
  307.59 -        return new Decoder(this);
  307.60 -    }
  307.61 -
  307.62 -    public CharsetEncoder newEncoder() {
  307.63 -        return new Encoder(this);
  307.64 -    }
  307.65 -
  307.66 -
  307.67 -    /**
  307.68 -     * These accessors are temporarily supplied while sun.io
  307.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  307.70 -     * These facilitate sharing of conversion tables between the
  307.71 -     * two co-existing implementations. When sun.io converters
  307.72 -     * are made extinct these will be unncessary and should be removed
  307.73 -     */
  307.74 -
  307.75 -    public String getDecoderSingleByteMappings() {
  307.76 -        return Decoder.byteToCharTable;
  307.77 -
  307.78 -    }
  307.79 -
  307.80 -    public short[] getEncoderIndex1() {
  307.81 -        return Encoder.index1;
  307.82 -
  307.83 -    }
  307.84 -    public String getEncoderIndex2() {
  307.85 -        return Encoder.index2;
  307.86 -
  307.87 -    }
  307.88 -
  307.89 -    private static class Decoder extends SingleByteDecoder {
  307.90 -            public Decoder(Charset cs) {
  307.91 -                super(cs, byteToCharTable);
  307.92 -        }
  307.93 -
  307.94 -        private final static String byteToCharTable =
  307.95 -
  307.96 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0386\uFFFD" +     // 0x80 - 0x87
  307.97 -            "\u00B7\u00AC\u00A6\u2018\u2019\u0388\u2015\u0389" +     // 0x88 - 0x8F
  307.98 -            "\u038A\u03AA\u038C\uFFFD\uFFFD\u038E\u03AB\u00A9" +     // 0x90 - 0x97
  307.99 -            "\u038F\u00B2\u00B3\u03AC\u00A3\u03AD\u03AE\u03AF" +     // 0x98 - 0x9F
 307.100 -            "\u03CA\u0390\u03CC\u03CD\u0391\u0392\u0393\u0394" +     // 0xA0 - 0xA7
 307.101 -            "\u0395\u0396\u0397\u00BD\u0398\u0399\u00AB\u00BB" +     // 0xA8 - 0xAF
 307.102 -            "\u2591\u2592\u2593\u2502\u2524\u039A\u039B\u039C" +     // 0xB0 - 0xB7
 307.103 -            "\u039D\u2563\u2551\u2557\u255D\u039E\u039F\u2510" +     // 0xB8 - 0xBF
 307.104 -            "\u2514\u2534\u252C\u251C\u2500\u253C\u03A0\u03A1" +     // 0xC0 - 0xC7
 307.105 -            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u03A3" +     // 0xC8 - 0xCF
 307.106 -            "\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2" +     // 0xD0 - 0xD7
 307.107 -            "\u03B3\u2518\u250C\u2588\u2584\u03B4\u03B5\u2580" +     // 0xD8 - 0xDF
 307.108 -            "\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD" +     // 0xE0 - 0xE7
 307.109 -            "\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u0384" +     // 0xE8 - 0xEF
 307.110 -            "\u00AD\u00B1\u03C5\u03C6\u03C7\u00A7\u03C8\u0385" +     // 0xF0 - 0xF7
 307.111 -            "\u00B0\u00A8\u03C9\u03CB\u03B0\u03CE\u25A0\u00A0" +     // 0xF8 - 0xFF
 307.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 307.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 307.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 307.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 307.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 307.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 307.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 307.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 307.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 307.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 307.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 307.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 307.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 307.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 307.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 307.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 307.128 -
 307.129 -    }
 307.130 -
 307.131 -    private static class Encoder extends SingleByteEncoder {
 307.132 -            public Encoder(Charset cs) {
 307.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 307.134 -            }
 307.135 -
 307.136 -            private final static String index2 =
 307.137 -
 307.138 -
 307.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 307.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 307.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 307.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 307.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 307.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 307.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 307.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 307.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 307.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 307.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 307.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 307.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 307.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 307.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 307.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 307.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.159 -            "\u00FF\u0000\u0000\u009C\u0000\u0000\u008A\u00F5" +
 307.160 -            "\u00F9\u0097\u0000\u00AE\u0089\u00F0\u0000\u0000" +
 307.161 -            "\u00F8\u00F1\u0099\u009A\u0000\u0000\u0000\u0088" +
 307.162 -            "\u0000\u0000\u0000\u00AF\u0000\u00AB\u0000\u0000" +
 307.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00EF\u00F7" +
 307.195 -            "\u0086\u0000\u008D\u008F\u0090\u0000\u0092\u0000" +
 307.196 -            "\u0095\u0098\u00A1\u00A4\u00A5\u00A6\u00A7\u00A8" +
 307.197 -            "\u00A9\u00AA\u00AC\u00AD\u00B5\u00B6\u00B7\u00B8" +
 307.198 -            "\u00BD\u00BE\u00C6\u00C7\u0000\u00CF\u00D0\u00D1" +
 307.199 -            "\u00D2\u00D3\u00D4\u00D5\u0091\u0096\u009B\u009D" +
 307.200 -            "\u009E\u009F\u00FC\u00D6\u00D7\u00D8\u00DD\u00DE" +
 307.201 -            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +
 307.202 -            "\u00E8\u00E9\u00EA\u00EB\u00ED\u00EC\u00EE\u00F2" +
 307.203 -            "\u00F3\u00F4\u00F6\u00FA\u00A0\u00FB\u00A2\u00A3" +
 307.204 -            "\u00FD\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.210 -            "\u0000\u0000\u008E\u0000\u0000\u008B\u008C\u0000" +
 307.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.239 -            "\u0000\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3" +
 307.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.241 -            "\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000" +
 307.242 -            "\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000" +
 307.243 -            "\u0000\u00C3\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.244 -            "\u0000\u00B4\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.245 -            "\u0000\u00C2\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.246 -            "\u0000\u00C1\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.247 -            "\u0000\u00C5\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.249 -            "\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA\u0000" +
 307.250 -            "\u0000\u00C9\u0000\u0000\u00BB\u0000\u0000\u00C8" +
 307.251 -            "\u0000\u0000\u00BC\u0000\u0000\u00CC\u0000\u0000" +
 307.252 -            "\u00B9\u0000\u0000\u00CB\u0000\u0000\u00CA\u0000" +
 307.253 -            "\u0000\u00CE\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.255 -            "\u0000\u0000\u0000\u0000\u0000\u00DF\u0000\u0000" +
 307.256 -            "\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000" +
 307.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00B0\u00B1" +
 307.258 -            "\u00B2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.259 -            "\u0000\u0000\u0000\u0000\u0000\u00FE\u0000\u0000" +
 307.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 307.271 -            "\u0000\u0000\u0000\u0000\u0000";
 307.272 -
 307.273 -    private final static short index1[] = {
 307.274 -            0, 190, 190, 314, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 307.275 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 307.276 -            549, 190, 190, 190, 190, 805, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 307.277 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 307.278 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 307.279 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 307.280 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 307.281 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 307.282 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 307.283 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 307.284 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 307.285 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 307.286 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 307.287 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 307.288 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 307.289 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 307.290 -
 307.291 -        };
 307.292 -    }
 307.293 -}
   308.1 --- a/src/share/classes/sun/nio/cs/ext/IBM870.java	Wed Jan 14 21:35:03 2009 -0800
   308.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   308.3 @@ -1,244 +0,0 @@
   308.4 -
   308.5 -/*
   308.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   308.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   308.8 - *
   308.9 - * This code is free software; you can redistribute it and/or modify it
  308.10 - * under the terms of the GNU General Public License version 2 only, as
  308.11 - * published by the Free Software Foundation.  Sun designates this
  308.12 - * particular file as subject to the "Classpath" exception as provided
  308.13 - * by Sun in the LICENSE file that accompanied this code.
  308.14 - *
  308.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  308.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  308.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  308.18 - * version 2 for more details (a copy is included in the LICENSE file that
  308.19 - * accompanied this code).
  308.20 - *
  308.21 - * You should have received a copy of the GNU General Public License version
  308.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  308.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  308.24 - *
  308.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  308.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  308.27 - * have any questions.
  308.28 - */
  308.29 -
  308.30 -package sun.nio.cs.ext;
  308.31 -
  308.32 -
  308.33 -import java.nio.charset.Charset;
  308.34 -import java.nio.charset.CharsetDecoder;
  308.35 -import java.nio.charset.CharsetEncoder;
  308.36 -import sun.nio.cs.StandardCharsets;
  308.37 -import sun.nio.cs.SingleByteDecoder;
  308.38 -import sun.nio.cs.SingleByteEncoder;
  308.39 -import sun.nio.cs.HistoricallyNamedCharset;
  308.40 -
  308.41 -public class IBM870
  308.42 -    extends Charset
  308.43 -    implements HistoricallyNamedCharset
  308.44 -{
  308.45 -
  308.46 -    public IBM870() {
  308.47 -        super("IBM870", ExtendedCharsets.aliasesFor("IBM870"));
  308.48 -    }
  308.49 -
  308.50 -    public String historicalName() {
  308.51 -        return "Cp870";
  308.52 -    }
  308.53 -
  308.54 -    public boolean contains(Charset cs) {
  308.55 -        return (cs instanceof IBM870);
  308.56 -    }
  308.57 -
  308.58 -    public CharsetDecoder newDecoder() {
  308.59 -        return new Decoder(this);
  308.60 -    }
  308.61 -
  308.62 -    public CharsetEncoder newEncoder() {
  308.63 -        return new Encoder(this);
  308.64 -    }
  308.65 -
  308.66 -
  308.67 -    /**
  308.68 -     * These accessors are temporarily supplied while sun.io
  308.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  308.70 -     * These facilitate sharing of conversion tables between the
  308.71 -     * two co-existing implementations. When sun.io converters
  308.72 -     * are made extinct these will be unncessary and should be removed
  308.73 -     */
  308.74 -
  308.75 -    public String getDecoderSingleByteMappings() {
  308.76 -        return Decoder.byteToCharTable;
  308.77 -
  308.78 -    }
  308.79 -
  308.80 -    public short[] getEncoderIndex1() {
  308.81 -        return Encoder.index1;
  308.82 -
  308.83 -    }
  308.84 -    public String getEncoderIndex2() {
  308.85 -        return Encoder.index2;
  308.86 -
  308.87 -    }
  308.88 -
  308.89 -    private static class Decoder extends SingleByteDecoder {
  308.90 -            public Decoder(Charset cs) {
  308.91 -                super(cs, byteToCharTable);
  308.92 -        }
  308.93 -
  308.94 -        private final static String byteToCharTable =
  308.95 -
  308.96 -            "\u02D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
  308.97 -            "\u0068\u0069\u015B\u0148\u0111\u00FD\u0159\u015F" +        // 0x88 - 0x8F
  308.98 -            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
  308.99 -            "\u0071\u0072\u0142\u0144\u0161\u00B8\u02DB\u00A4" +        // 0x98 - 0x9F
 308.100 -            "\u0105\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
 308.101 -            "\u0079\u007A\u015A\u0147\u0110\u00DD\u0158\u015E" +        // 0xA8 - 0xAF
 308.102 -            "\u02D9\u0104\u017C\u0162\u017B\u00A7\u017E\u017A" +        // 0xB0 - 0xB7
 308.103 -            "\u017D\u0179\u0141\u0143\u0160\u00A8\u00B4\u00D7" +        // 0xB8 - 0xBF
 308.104 -            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
 308.105 -            "\u0048\u0049\u00AD\u00F4\u00F6\u0155\u00F3\u0151" +        // 0xC8 - 0xCF
 308.106 -            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
 308.107 -            "\u0051\u0052\u011A\u0171\u00FC\u0165\u00FA\u011B" +        // 0xD8 - 0xDF
 308.108 -            "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
 308.109 -            "\u0059\u005A\u010F\u00D4\u00D6\u0154\u00D3\u0150" +        // 0xE8 - 0xEF
 308.110 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
 308.111 -            "\u0038\u0039\u010E\u0170\u00DC\u0164\u00DA\u009F" +        // 0xF8 - 0xFF
 308.112 -            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
 308.113 -            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
 308.114 -            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
 308.115 -            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 308.116 -            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
 308.117 -            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
 308.118 -            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
 308.119 -            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
 308.120 -            "\u0020\u00A0\u00E2\u00E4\u0163\u00E1\u0103\u010D" +        // 0x40 - 0x47
 308.121 -            "\u00E7\u0107\u005B\u002E\u003C\u0028\u002B\u0021" +        // 0x48 - 0x4F
 308.122 -            "\u0026\u00E9\u0119\u00EB\u016F\u00ED\u00EE\u013E" +        // 0x50 - 0x57
 308.123 -            "\u013A\u00DF\u005D\u0024\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
 308.124 -            "\u002D\u002F\u00C2\u00C4\u02DD\u00C1\u0102\u010C" +        // 0x60 - 0x67
 308.125 -            "\u00C7\u0106\u007C\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
 308.126 -            "\u02C7\u00C9\u0118\u00CB\u016E\u00CD\u00CE\u013D" +        // 0x70 - 0x77
 308.127 -            "\u0139\u0060\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
 308.128 -
 308.129 -    }
 308.130 -
 308.131 -    private static class Encoder extends SingleByteEncoder {
 308.132 -            public Encoder(Charset cs) {
 308.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 308.134 -            }
 308.135 -
 308.136 -            private final static String index2 =
 308.137 -
 308.138 -
 308.139 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
 308.140 -            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
 308.141 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 308.142 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 308.143 -            "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" +
 308.144 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 308.145 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 308.146 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 308.147 -            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 308.148 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 308.149 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 308.150 -            "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u005F\u006D" +
 308.151 -            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 308.152 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 308.153 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 308.154 -            "\u00A7\u00A8\u00A9\u00C0\u006A\u00D0\u00A1\u0007" +
 308.155 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 308.156 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 308.157 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 308.158 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 308.159 -            "\u0041\u0000\u0000\u0000\u009F\u0000\u0000\u00B5" +
 308.160 -            "\u00BD\u0000\u0000\u0000\u0000\u00CA\u0000\u0000" +
 308.161 -            "\u0090\u0000\u0000\u0000\u00BE\u0000\u0000\u0000" +
 308.162 -            "\u009D\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.163 -            "\u0000\u0065\u0062\u0000\u0063\u0000\u0000\u0068" +
 308.164 -            "\u0000\u0071\u0000\u0073\u0000\u0075\u0076\u0000" +
 308.165 -            "\u0000\u0000\u0000\u00EE\u00EB\u0000\u00EC\u00BF" +
 308.166 -            "\u0000\u0000\u00FE\u0000\u00FC\u00AD\u0000\u0059" +
 308.167 -            "\u0000\u0045\u0042\u0000\u0043\u0000\u0000\u0048" +
 308.168 -            "\u0000\u0051\u0000\u0053\u0000\u0055\u0056\u0000" +
 308.169 -            "\u0000\u0000\u0000\u00CE\u00CB\u0000\u00CC\u00E1" +
 308.170 -            "\u0000\u0000\u00DE\u0000\u00DC\u008D\u0000\u0000" +
 308.171 -            "\u0066\u0046\u00B1\u00A0\u0069\u0049\u0000\u0000" +
 308.172 -            "\u0000\u0000\u0067\u0047\u00FA\u00EA\u00AC\u008C" +
 308.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0072\u0052" +
 308.174 -            "\u00DA\u00DF\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0078" +
 308.178 -            "\u0058\u0000\u0000\u0077\u0057\u0000\u0000\u00BA" +
 308.179 -            "\u009A\u00BB\u009B\u0000\u0000\u00AB\u008B\u0000" +
 308.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00EF\u00CF" +
 308.181 -            "\u0000\u0000\u00ED\u00CD\u0000\u0000\u00AE\u008E" +
 308.182 -            "\u00AA\u008A\u0000\u0000\u00AF\u008F\u00BC\u009C" +
 308.183 -            "\u00B3\u0044\u00FD\u00DD\u0000\u0000\u0000\u0000" +
 308.184 -            "\u0000\u0000\u0000\u0000\u0074\u0054\u00FB\u00DB" +
 308.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B9" +
 308.186 -            "\u00B7\u00B4\u00B2\u00B8\u00B6\u0000\u0000\u0000" +
 308.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.218 -            "\u0000\u0000\u0000\u0000\u0000\u0070\u0000\u0000" +
 308.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u00B0" +
 308.221 -            "\u0000\u009E\u0000\u0064\u0000\u0000\u0000\u0000" +
 308.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 308.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000";
 308.226 -
 308.227 -    private final static short index1[] = {
 308.228 -            0, 254, 438, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 308.229 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 308.230 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 308.231 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 308.232 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 308.233 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 308.234 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 308.235 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 308.236 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 308.237 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 308.238 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 308.239 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 308.240 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 308.241 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 308.242 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 308.243 -            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
 308.244 -
 308.245 -        };
 308.246 -    }
 308.247 -}
   309.1 --- a/src/share/classes/sun/nio/cs/ext/IBM871.java	Wed Jan 14 21:35:03 2009 -0800
   309.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   309.3 @@ -1,221 +0,0 @@
   309.4 -
   309.5 -/*
   309.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   309.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   309.8 - *
   309.9 - * This code is free software; you can redistribute it and/or modify it
  309.10 - * under the terms of the GNU General Public License version 2 only, as
  309.11 - * published by the Free Software Foundation.  Sun designates this
  309.12 - * particular file as subject to the "Classpath" exception as provided
  309.13 - * by Sun in the LICENSE file that accompanied this code.
  309.14 - *
  309.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  309.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  309.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  309.18 - * version 2 for more details (a copy is included in the LICENSE file that
  309.19 - * accompanied this code).
  309.20 - *
  309.21 - * You should have received a copy of the GNU General Public License version
  309.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  309.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  309.24 - *
  309.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  309.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  309.27 - * have any questions.
  309.28 - */
  309.29 -
  309.30 -package sun.nio.cs.ext;
  309.31 -
  309.32 -
  309.33 -import java.nio.charset.Charset;
  309.34 -import java.nio.charset.CharsetDecoder;
  309.35 -import java.nio.charset.CharsetEncoder;
  309.36 -import sun.nio.cs.StandardCharsets;
  309.37 -import sun.nio.cs.SingleByteDecoder;
  309.38 -import sun.nio.cs.SingleByteEncoder;
  309.39 -import sun.nio.cs.HistoricallyNamedCharset;
  309.40 -
  309.41 -public class IBM871
  309.42 -    extends Charset
  309.43 -    implements HistoricallyNamedCharset
  309.44 -{
  309.45 -
  309.46 -    public IBM871() {
  309.47 -        super("IBM871", ExtendedCharsets.aliasesFor("IBM871"));
  309.48 -    }
  309.49 -
  309.50 -    public String historicalName() {
  309.51 -        return "Cp871";
  309.52 -    }
  309.53 -
  309.54 -    public boolean contains(Charset cs) {
  309.55 -        return (cs instanceof IBM871);
  309.56 -    }
  309.57 -
  309.58 -    public CharsetDecoder newDecoder() {
  309.59 -        return new Decoder(this);
  309.60 -    }
  309.61 -
  309.62 -    public CharsetEncoder newEncoder() {
  309.63 -        return new Encoder(this);
  309.64 -    }
  309.65 -
  309.66 -
  309.67 -    /**
  309.68 -     * These accessors are temporarily supplied while sun.io
  309.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  309.70 -     * These facilitate sharing of conversion tables between the
  309.71 -     * two co-existing implementations. When sun.io converters
  309.72 -     * are made extinct these will be unncessary and should be removed
  309.73 -     */
  309.74 -
  309.75 -    public String getDecoderSingleByteMappings() {
  309.76 -        return Decoder.byteToCharTable;
  309.77 -
  309.78 -    }
  309.79 -
  309.80 -    public short[] getEncoderIndex1() {
  309.81 -        return Encoder.index1;
  309.82 -
  309.83 -    }
  309.84 -    public String getEncoderIndex2() {
  309.85 -        return Encoder.index2;
  309.86 -
  309.87 -    }
  309.88 -
  309.89 -    protected static class Decoder extends SingleByteDecoder {
  309.90 -            public Decoder(Charset cs) {
  309.91 -                super(cs, byteToCharTable);
  309.92 -        }
  309.93 -
  309.94 -        private final static String byteToCharTable =
  309.95 -
  309.96 -            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
  309.97 -            "\u0068\u0069\u00AB\u00BB\u0060\u00FD\u007B\u00B1" +        // 0x88 - 0x8F
  309.98 -            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
  309.99 -            "\u0071\u0072\u00AA\u00BA\u007D\u00B8\u005D\u00A4" +        // 0x98 - 0x9F
 309.100 -            "\u00B5\u00F6\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
 309.101 -            "\u0079\u007A\u00A1\u00BF\u0040\u00DD\u005B\u00AE" +        // 0xA8 - 0xAF
 309.102 -            "\u00A2\u00A3\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" +        // 0xB0 - 0xB7
 309.103 -            "\u00BD\u00BE\u00AC\u007C\u00AF\u00A8\\\u00D7" +    // 0xB8 - 0xBF
 309.104 -            "\u00FE\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
 309.105 -            "\u0048\u0049\u00AD\u00F4\u007E\u00F2\u00F3\u00F5" +        // 0xC8 - 0xCF
 309.106 -            "\u00E6\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
 309.107 -            "\u0051\u0052\u00B9\u00FB\u00FC\u00F9\u00FA\u00FF" +        // 0xD8 - 0xDF
 309.108 -            "\u00B4\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +        // 0xE0 - 0xE7
 309.109 -            "\u0059\u005A\u00B2\u00D4\u005E\u00D2\u00D3\u00D5" +        // 0xE8 - 0xEF
 309.110 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
 309.111 -            "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" +        // 0xF8 - 0xFF
 309.112 -            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
 309.113 -            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
 309.114 -            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
 309.115 -            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 309.116 -            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
 309.117 -            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
 309.118 -            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
 309.119 -            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
 309.120 -            "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u00E5" +        // 0x40 - 0x47
 309.121 -            "\u00E7\u00F1\u00DE\u002E\u003C\u0028\u002B\u0021" +        // 0x48 - 0x4F
 309.122 -            "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
 309.123 -            "\u00EC\u00DF\u00C6\u0024\u002A\u0029\u003B\u00D6" +        // 0x58 - 0x5F
 309.124 -            "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" +        // 0x60 - 0x67
 309.125 -            "\u00C7\u00D1\u00A6\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
 309.126 -            "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +        // 0x70 - 0x77
 309.127 -            "\u00CC\u00F0\u003A\u0023\u00D0\'\u003D\"";         // 0x78 - 0x7F
 309.128 -
 309.129 -    }
 309.130 -
 309.131 -    private static class Encoder extends SingleByteEncoder {
 309.132 -            public Encoder(Charset cs) {
 309.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 309.134 -            }
 309.135 -
 309.136 -            private final static String index2 =
 309.137 -
 309.138 -
 309.139 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
 309.140 -            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
 309.141 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 309.142 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 309.143 -            "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" +
 309.144 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 309.145 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 309.146 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 309.147 -            "\u00AC\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 309.148 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 309.149 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 309.150 -            "\u00E7\u00E8\u00E9\u00AE\u00BE\u009E\u00EC\u006D" +
 309.151 -            "\u008C\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 309.152 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 309.153 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 309.154 -            "\u00A7\u00A8\u00A9\u008E\u00BB\u009C\u00CC\u0007" +
 309.155 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 309.156 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 309.157 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 309.158 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 309.159 -            "\u0041\u00AA\u00B0\u00B1\u009F\u00B2\u006A\u00B5" +
 309.160 -            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
 309.161 -            "\u0090\u008F\u00EA\u00FA\u00E0\u00A0\u00B6\u00B3" +
 309.162 -            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
 309.163 -            "\u0064\u0065\u0062\u0066\u0063\u0067\u005A\u0068" +
 309.164 -            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
 309.165 -            "\u007C\u0069\u00ED\u00EE\u00EB\u00EF\u005F\u00BF" +
 309.166 -            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u004A\u0059" +
 309.167 -            "\u0044\u0045\u0042\u0046\u0043\u0047\u00D0\u0048" +
 309.168 -            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
 309.169 -            "\u0079\u0049\u00CD\u00CE\u00CB\u00CF\u00A1\u00E1" +
 309.170 -            "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u00C0\u00DF" +
 309.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 309.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 309.203 -
 309.204 -    private final static short index1[] = {
 309.205 -            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 309.206 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 309.207 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 309.208 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 309.209 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 309.210 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 309.211 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 309.212 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 309.213 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 309.214 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 309.215 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 309.216 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 309.217 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 309.218 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 309.219 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 309.220 -            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
 309.221 -
 309.222 -        };
 309.223 -    }
 309.224 -}
   310.1 --- a/src/share/classes/sun/nio/cs/ext/IBM875.java	Wed Jan 14 21:35:03 2009 -0800
   310.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   310.3 @@ -1,258 +0,0 @@
   310.4 -
   310.5 -/*
   310.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   310.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   310.8 - *
   310.9 - * This code is free software; you can redistribute it and/or modify it
  310.10 - * under the terms of the GNU General Public License version 2 only, as
  310.11 - * published by the Free Software Foundation.  Sun designates this
  310.12 - * particular file as subject to the "Classpath" exception as provided
  310.13 - * by Sun in the LICENSE file that accompanied this code.
  310.14 - *
  310.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  310.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  310.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  310.18 - * version 2 for more details (a copy is included in the LICENSE file that
  310.19 - * accompanied this code).
  310.20 - *
  310.21 - * You should have received a copy of the GNU General Public License version
  310.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  310.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  310.24 - *
  310.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  310.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  310.27 - * have any questions.
  310.28 - */
  310.29 -
  310.30 -package sun.nio.cs.ext;
  310.31 -
  310.32 -
  310.33 -import java.nio.charset.Charset;
  310.34 -import java.nio.charset.CharsetDecoder;
  310.35 -import java.nio.charset.CharsetEncoder;
  310.36 -import sun.nio.cs.StandardCharsets;
  310.37 -import sun.nio.cs.SingleByteDecoder;
  310.38 -import sun.nio.cs.SingleByteEncoder;
  310.39 -import sun.nio.cs.HistoricallyNamedCharset;
  310.40 -
  310.41 -public class IBM875
  310.42 -    extends Charset
  310.43 -    implements HistoricallyNamedCharset
  310.44 -{
  310.45 -
  310.46 -    public IBM875() {
  310.47 -        super("x-IBM875", ExtendedCharsets.aliasesFor("x-IBM875"));
  310.48 -    }
  310.49 -
  310.50 -    public String historicalName() {
  310.51 -        return "Cp875";
  310.52 -    }
  310.53 -
  310.54 -    public boolean contains(Charset cs) {
  310.55 -        return (cs instanceof IBM875);
  310.56 -    }
  310.57 -
  310.58 -    public CharsetDecoder newDecoder() {
  310.59 -        return new Decoder(this);
  310.60 -    }
  310.61 -
  310.62 -    public CharsetEncoder newEncoder() {
  310.63 -        return new Encoder(this);
  310.64 -    }
  310.65 -
  310.66 -
  310.67 -    /**
  310.68 -     * These accessors are temporarily supplied while sun.io
  310.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  310.70 -     * These facilitate sharing of conversion tables between the
  310.71 -     * two co-existing implementations. When sun.io converters
  310.72 -     * are made extinct these will be unncessary and should be removed
  310.73 -     */
  310.74 -
  310.75 -    public String getDecoderSingleByteMappings() {
  310.76 -        return Decoder.byteToCharTable;
  310.77 -
  310.78 -    }
  310.79 -
  310.80 -    public short[] getEncoderIndex1() {
  310.81 -        return Encoder.index1;
  310.82 -
  310.83 -    }
  310.84 -    public String getEncoderIndex2() {
  310.85 -        return Encoder.index2;
  310.86 -
  310.87 -    }
  310.88 -
  310.89 -    private static class Decoder extends SingleByteDecoder {
  310.90 -            public Decoder(Charset cs) {
  310.91 -                super(cs, byteToCharTable);
  310.92 -        }
  310.93 -
  310.94 -        private final static String byteToCharTable =
  310.95 -
  310.96 -            "\u0385\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x80 - 0x87
  310.97 -            "\u0068\u0069\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6" +     // 0x88 - 0x8F
  310.98 -            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +     // 0x90 - 0x97
  310.99 -            "\u0071\u0072\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC" +     // 0x98 - 0x9F
 310.100 -            "\u00B4\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +     // 0xA0 - 0xA7
 310.101 -            "\u0079\u007A\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3" +     // 0xA8 - 0xAF
 310.102 -            "\u00A3\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD" +     // 0xB0 - 0xB7
 310.103 -            "\u03CB\u03CE\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8" +     // 0xB8 - 0xBF
 310.104 -            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0xC0 - 0xC7
 310.105 -            "\u0048\u0049\u00AD\u03C9\u0390\u03B0\u2018\u2015" +     // 0xC8 - 0xCF
 310.106 -            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +     // 0xD0 - 0xD7
 310.107 -            "\u0051\u0052\u00B1\u00BD\uFFFD\u0387\u2019\u00A6" +     // 0xD8 - 0xDF
 310.108 -            "\\\uFFFD\u0053\u0054\u0055\u0056\u0057\u0058" +     // 0xE0 - 0xE7
 310.109 -            "\u0059\u005A\u00B2\u00A7\uFFFD\uFFFD\u00AB\u00AC" +     // 0xE8 - 0xEF
 310.110 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0xF0 - 0xF7
 310.111 -            "\u0038\u0039\u00B3\u00A9\uFFFD\uFFFD\u00BB\u009F" +     // 0xF8 - 0xFF
 310.112 -            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +     // 0x00 - 0x07
 310.113 -            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 310.114 -            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +     // 0x10 - 0x17
 310.115 -            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 310.116 -            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +     // 0x20 - 0x27
 310.117 -            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +     // 0x28 - 0x2F
 310.118 -            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +     // 0x30 - 0x37
 310.119 -            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +     // 0x38 - 0x3F
 310.120 -            "\u0020\u0391\u0392\u0393\u0394\u0395\u0396\u0397" +     // 0x40 - 0x47
 310.121 -            "\u0398\u0399\u005B\u002E\u003C\u0028\u002B\u0021" +     // 0x48 - 0x4F
 310.122 -            "\u0026\u039A\u039B\u039C\u039D\u039E\u039F\u03A0" +     // 0x50 - 0x57
 310.123 -            "\u03A1\u03A3\u005D\u0024\u002A\u0029\u003B\u005E" +     // 0x58 - 0x5F
 310.124 -            "\u002D\u002F\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9" +     // 0x60 - 0x67
 310.125 -            "\u03AA\u03AB\u007C\u002C\u0025\u005F\u003E\u003F" +     // 0x68 - 0x6F
 310.126 -            "\u00A8\u0386\u0388\u0389\u00A0\u038A\u038C\u038E" +     // 0x70 - 0x77
 310.127 -            "\u038F\u0060\u003A\u0023\u0040\'\u003D\"";     // 0x78 - 0x7F
 310.128 -
 310.129 -    }
 310.130 -
 310.131 -    private static class Encoder extends SingleByteEncoder {
 310.132 -            public Encoder(Charset cs) {
 310.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 310.134 -            }
 310.135 -
 310.136 -            private final static String index2 =
 310.137 -
 310.138 -
 310.139 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
 310.140 -            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
 310.141 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 310.142 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 310.143 -            "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" +
 310.144 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 310.145 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 310.146 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 310.147 -            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 310.148 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 310.149 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 310.150 -            "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u005F\u006D" +
 310.151 -            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 310.152 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 310.153 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 310.154 -            "\u00A7\u00A8\u00A9\u00C0\u006A\u00D0\u00A1\u0007" +
 310.155 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 310.156 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 310.157 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 310.158 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 310.159 -            "\u0074\u0000\u0000\u00B0\u0000\u0000\u00DF\u00EB" +
 310.160 -            "\u0070\u00FB\u0000\u00EE\u00EF\u00CA\u0000\u0000" +
 310.161 -            "\u0090\u00DA\u00EA\u00FA\u00A0\u0000\u0000\u0000" +
 310.162 -            "\u0000\u0000\u0000\u00FE\u0000\u00DB\u0000\u0000" +
 310.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0071" +
 310.195 -            "\u00DD\u0072\u0073\u0075\u0000\u0076\u0000\u0077" +
 310.196 -            "\u0078\u00CC\u0041\u0042\u0043\u0044\u0045\u0046" +
 310.197 -            "\u0047\u0048\u0049\u0051\u0052\u0053\u0054\u0055" +
 310.198 -            "\u0056\u0057\u0058\u0000\u0059\u0062\u0063\u0064" +
 310.199 -            "\u0065\u0066\u0067\u0068\u0069\u00B1\u00B2\u00B3" +
 310.200 -            "\u00B5\u00CD\u008A\u008B\u008C\u008D\u008E\u008F" +
 310.201 -            "\u009A\u009B\u009C\u009D\u009E\u009F\u00AA\u00AB" +
 310.202 -            "\u00AC\u00AD\u00AE\u00BA\u00AF\u00BB\u00BC\u00BD" +
 310.203 -            "\u00BE\u00BF\u00CB\u00B4\u00B8\u00B6\u00B7\u00B9" +
 310.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.210 -            "\u0000\u00CF\u0000\u0000\u00CE\u00DE\u0000\u0000" +
 310.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 310.239 -            "\u0000\u0000\u0000\u0000";
 310.240 -
 310.241 -    private final static short index1[] = {
 310.242 -            0, 190, 190, 313, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 310.243 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 310.244 -            548, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 310.245 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 310.246 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 310.247 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 310.248 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 310.249 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 310.250 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 310.251 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 310.252 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 310.253 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 310.254 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 310.255 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 310.256 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 310.257 -            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
 310.258 -
 310.259 -        };
 310.260 -    }
 310.261 -}
   311.1 --- a/src/share/classes/sun/nio/cs/ext/IBM918.java	Wed Jan 14 21:35:03 2009 -0800
   311.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   311.3 @@ -1,336 +0,0 @@
   311.4 -
   311.5 -/*
   311.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   311.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   311.8 - *
   311.9 - * This code is free software; you can redistribute it and/or modify it
  311.10 - * under the terms of the GNU General Public License version 2 only, as
  311.11 - * published by the Free Software Foundation.  Sun designates this
  311.12 - * particular file as subject to the "Classpath" exception as provided
  311.13 - * by Sun in the LICENSE file that accompanied this code.
  311.14 - *
  311.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  311.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  311.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  311.18 - * version 2 for more details (a copy is included in the LICENSE file that
  311.19 - * accompanied this code).
  311.20 - *
  311.21 - * You should have received a copy of the GNU General Public License version
  311.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  311.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  311.24 - *
  311.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  311.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  311.27 - * have any questions.
  311.28 - */
  311.29 -
  311.30 -package sun.nio.cs.ext;
  311.31 -
  311.32 -
  311.33 -import java.nio.charset.Charset;
  311.34 -import java.nio.charset.CharsetDecoder;
  311.35 -import java.nio.charset.CharsetEncoder;
  311.36 -import sun.nio.cs.StandardCharsets;
  311.37 -import sun.nio.cs.SingleByteDecoder;
  311.38 -import sun.nio.cs.SingleByteEncoder;
  311.39 -import sun.nio.cs.HistoricallyNamedCharset;
  311.40 -
  311.41 -public class IBM918
  311.42 -    extends Charset
  311.43 -    implements HistoricallyNamedCharset
  311.44 -{
  311.45 -
  311.46 -    public IBM918() {
  311.47 -        super("IBM918", ExtendedCharsets.aliasesFor("IBM918"));
  311.48 -    }
  311.49 -
  311.50 -    public String historicalName() {
  311.51 -        return "Cp918";
  311.52 -    }
  311.53 -
  311.54 -    public boolean contains(Charset cs) {
  311.55 -        return (cs instanceof IBM918);
  311.56 -    }
  311.57 -
  311.58 -    public CharsetDecoder newDecoder() {
  311.59 -        return new Decoder(this);
  311.60 -    }
  311.61 -
  311.62 -    public CharsetEncoder newEncoder() {
  311.63 -        return new Encoder(this);
  311.64 -    }
  311.65 -
  311.66 -
  311.67 -    /**
  311.68 -     * These accessors are temporarily supplied while sun.io
  311.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  311.70 -     * These facilitate sharing of conversion tables between the
  311.71 -     * two co-existing implementations. When sun.io converters
  311.72 -     * are made extinct these will be unncessary and should be removed
  311.73 -     */
  311.74 -
  311.75 -    public String getDecoderSingleByteMappings() {
  311.76 -        return Decoder.byteToCharTable;
  311.77 -
  311.78 -    }
  311.79 -
  311.80 -    public short[] getEncoderIndex1() {
  311.81 -        return Encoder.index1;
  311.82 -
  311.83 -    }
  311.84 -    public String getEncoderIndex2() {
  311.85 -        return Encoder.index2;
  311.86 -
  311.87 -    }
  311.88 -
  311.89 -    private static class Decoder extends SingleByteDecoder {
  311.90 -            public Decoder(Charset cs) {
  311.91 -                super(cs, byteToCharTable);
  311.92 -        }
  311.93 -
  311.94 -        private final static String byteToCharTable =
  311.95 -
  311.96 -            "\uFEA7\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
  311.97 -            "\u0068\u0069\uFEA9\uFB88\uFEAB\uFEAD\uFB8C\uFEAF" +        // 0x88 - 0x8F
  311.98 -            "\uFB8A\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
  311.99 -            "\u0071\u0072\uFEB1\uFEB3\uFEB5\uFEB7\uFEB9\uFEBB" +        // 0x98 - 0x9F
 311.100 -            "\uFEBD\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
 311.101 -            "\u0079\u007A\uFEBF\uFEC3\uFEC7\uFEC9\uFECA\uFECB" +        // 0xA8 - 0xAF
 311.102 -            "\uFECC\uFECD\uFECE\uFECF\uFED0\uFED1\uFED3\uFED5" +        // 0xB0 - 0xB7
 311.103 -            "\uFED7\uFB8E\uFEDB\u007C\uFB92\uFB94\uFEDD\uFEDF" +        // 0xB8 - 0xBF
 311.104 -            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
 311.105 -            "\u0048\u0049\u00AD\uFEE0\uFEE1\uFEE3\uFB9E\uFEE5" +        // 0xC8 - 0xCF
 311.106 -            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
 311.107 -            "\u0051\u0052\uFEE7\uFE85\uFEED\uFBA6\uFBA8\uFBA9" +        // 0xD8 - 0xDF
 311.108 -            "\\\uFBAA\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
 311.109 -            "\u0059\u005A\uFE80\uFE89\uFE8A\uFE8B\uFBFC\uFBFD" +        // 0xE8 - 0xEF
 311.110 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
 311.111 -            "\u0038\u0039\uFBFE\uFBB0\uFBAE\uFE7C\uFE7D\u009F" +        // 0xF8 - 0xFF
 311.112 -            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
 311.113 -            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
 311.114 -            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
 311.115 -            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 311.116 -            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
 311.117 -            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
 311.118 -            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
 311.119 -            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
 311.120 -            "\u0020\u00A0\u060C\u061B\u061F\uFE81\uFE8D\uFE8E" +        // 0x40 - 0x47
 311.121 -            "\uF8FB\uFE8F\u005B\u002E\u003C\u0028\u002B\u0021" +        // 0x48 - 0x4F
 311.122 -            "\u0026\uFE91\uFB56\uFB58\uFE93\uFE95\uFE97\uFB66" +        // 0x50 - 0x57
 311.123 -            "\uFB68\uFE99\u005D\u0024\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
 311.124 -            "\u002D\u002F\uFE9B\uFE9D\uFE9F\uFB7A\uFB7C\uFEA1" +        // 0x60 - 0x67
 311.125 -            "\uFEA3\uFEA5\u0060\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
 311.126 -            "\u06F0\u06F1\u06F2\u06F3\u06F4\u06F5\u06F6\u06F7" +        // 0x70 - 0x77
 311.127 -            "\u06F8\u06F9\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
 311.128 -
 311.129 -    }
 311.130 -
 311.131 -    private static class Encoder extends SingleByteEncoder {
 311.132 -            public Encoder(Charset cs) {
 311.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 311.134 -            }
 311.135 -
 311.136 -            private final static String index2 =
 311.137 -
 311.138 -
 311.139 -            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
 311.140 -            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
 311.141 -            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
 311.142 -            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
 311.143 -            "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" +
 311.144 -            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
 311.145 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 311.146 -            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
 311.147 -            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 311.148 -            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 311.149 -            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
 311.150 -            "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u005F\u006D" +
 311.151 -            "\u006A\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 311.152 -            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
 311.153 -            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
 311.154 -            "\u00A7\u00A8\u00A9\u00C0\u00BB\u00D0\u00A1\u0007" +
 311.155 -            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
 311.156 -            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
 311.157 -            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
 311.158 -            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
 311.159 -            "\u0041\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.160 -            "\u0000\u0000\u0000\u0000\u0000\u00CA\u0000\u0000" +
 311.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.162 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0042\u0000" +
 311.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.194 -            "\u0000\u0000\u0000\u0000\u0000\u0043\u0000\u0000" +
 311.195 -            "\u0000\u0044\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.221 -            "\u0000\u0000\u0070\u0071\u0072\u0073\u0074\u0075" +
 311.222 -            "\u0076\u0077\u0078\u0079\u0000\u0000\u0000\u0000" +
 311.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0048" +
 311.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0052\u0000" +
 311.265 -            "\u0053\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0057\u0000" +
 311.267 -            "\u0058\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.269 -            "\u0000\u0000\u0065\u0000\u0066\u0000\u0000\u0000" +
 311.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.271 -            "\u008B\u0000\u0090\u0000\u008E\u0000\u00B9\u0000" +
 311.272 -            "\u0000\u0000\u00BC\u0000\u00BD\u0000\u0000\u0000" +
 311.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00CE\u0000" +
 311.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00DD\u0000" +
 311.275 -            "\u00DE\u00DF\u00E1\u0000\u0000\u0000\u00FC\u0000" +
 311.276 -            "\u00FB\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.285 -            "\u0000\u0000\u0000\u0000\u00EE\u00EF\u00FA\u0000" +
 311.286 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.301 -            "\u0000\u0000\u0000\u00FD\u00FE\u0000\u0000\u00EA" +
 311.302 -            "\u0045\u0000\u0000\u0000\u00DB\u0000\u0000\u0000" +
 311.303 -            "\u00EB\u00EC\u00ED\u0000\u0046\u0047\u0049\u0000" +
 311.304 -            "\u0051\u0000\u0054\u0000\u0055\u0000\u0056\u0000" +
 311.305 -            "\u0059\u0000\u0062\u0000\u0063\u0000\u0064\u0000" +
 311.306 -            "\u0067\u0000\u0068\u0000\u0069\u0000\u0080\u0000" +
 311.307 -            "\u008A\u0000\u008C\u0000\u008D\u0000\u008F\u0000" +
 311.308 -            "\u009A\u0000\u009B\u0000\u009C\u0000\u009D\u0000" +
 311.309 -            "\u009E\u0000\u009F\u0000\u00A0\u0000\u00AA\u0000" +
 311.310 -            "\u0000\u0000\u00AB\u0000\u0000\u0000\u00AC\u0000" +
 311.311 -            "\u00AD\u00AE\u00AF\u00B0\u00B1\u00B2\u00B3\u00B4" +
 311.312 -            "\u00B5\u0000\u00B6\u0000\u00B7\u0000\u00B8\u0000" +
 311.313 -            "\u0000\u0000\u00BA\u0000\u00BE\u0000\u00BF\u00CB" +
 311.314 -            "\u00CC\u0000\u00CD\u0000\u00CF\u0000\u00DA\u0000" +
 311.315 -            "\u0000\u0000\u0000\u0000\u00DC\u0000\u0000\u0000" +
 311.316 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 311.317 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 311.318 -
 311.319 -    private final static short index1[] = {
 311.320 -            0, 174, 174, 174, 174, 174, 418, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 311.321 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 311.322 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 311.323 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 311.324 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 311.325 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 311.326 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 311.327 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 311.328 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 311.329 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 311.330 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 311.331 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 311.332 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 311.333 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 311.334 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 311.335 -            174, 174, 174, 174, 174, 174, 174, 174, 668, 174, 174, 920, 174, 174, 1175, 174,
 311.336 -
 311.337 -        };
 311.338 -    }
 311.339 -}
   312.1 --- a/src/share/classes/sun/nio/cs/ext/IBM921.java	Wed Jan 14 21:35:03 2009 -0800
   312.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   312.3 @@ -1,266 +0,0 @@
   312.4 -
   312.5 -/*
   312.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   312.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   312.8 - *
   312.9 - * This code is free software; you can redistribute it and/or modify it
  312.10 - * under the terms of the GNU General Public License version 2 only, as
  312.11 - * published by the Free Software Foundation.  Sun designates this
  312.12 - * particular file as subject to the "Classpath" exception as provided
  312.13 - * by Sun in the LICENSE file that accompanied this code.
  312.14 - *
  312.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  312.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  312.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  312.18 - * version 2 for more details (a copy is included in the LICENSE file that
  312.19 - * accompanied this code).
  312.20 - *
  312.21 - * You should have received a copy of the GNU General Public License version
  312.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  312.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  312.24 - *
  312.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  312.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  312.27 - * have any questions.
  312.28 - */
  312.29 -
  312.30 -package sun.nio.cs.ext;
  312.31 -
  312.32 -
  312.33 -import java.nio.charset.Charset;
  312.34 -import java.nio.charset.CharsetDecoder;
  312.35 -import java.nio.charset.CharsetEncoder;
  312.36 -import sun.nio.cs.StandardCharsets;
  312.37 -import sun.nio.cs.SingleByteDecoder;
  312.38 -import sun.nio.cs.SingleByteEncoder;
  312.39 -import sun.nio.cs.HistoricallyNamedCharset;
  312.40 -
  312.41 -public class IBM921
  312.42 -    extends Charset
  312.43 -    implements HistoricallyNamedCharset
  312.44 -{
  312.45 -
  312.46 -    public IBM921() {
  312.47 -        super("x-IBM921", ExtendedCharsets.aliasesFor("x-IBM921"));
  312.48 -    }
  312.49 -
  312.50 -    public String historicalName() {
  312.51 -        return "Cp921";
  312.52 -    }
  312.53 -
  312.54 -    public boolean contains(Charset cs) {
  312.55 -        return (cs instanceof IBM921);
  312.56 -    }
  312.57 -
  312.58 -    public CharsetDecoder newDecoder() {
  312.59 -        return new Decoder(this);
  312.60 -    }
  312.61 -
  312.62 -    public CharsetEncoder newEncoder() {
  312.63 -        return new Encoder(this);
  312.64 -    }
  312.65 -
  312.66 -
  312.67 -    /**
  312.68 -     * These accessors are temporarily supplied while sun.io
  312.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  312.70 -     * These facilitate sharing of conversion tables between the
  312.71 -     * two co-existing implementations. When sun.io converters
  312.72 -     * are made extinct these will be unncessary and should be removed
  312.73 -     */
  312.74 -
  312.75 -    public String getDecoderSingleByteMappings() {
  312.76 -        return Decoder.byteToCharTable;
  312.77 -
  312.78 -    }
  312.79 -
  312.80 -    public short[] getEncoderIndex1() {
  312.81 -        return Encoder.index1;
  312.82 -
  312.83 -    }
  312.84 -    public String getEncoderIndex2() {
  312.85 -        return Encoder.index2;
  312.86 -
  312.87 -    }
  312.88 -
  312.89 -    private static class Decoder extends SingleByteDecoder {
  312.90 -            public Decoder(Charset cs) {
  312.91 -                super(cs, byteToCharTable);
  312.92 -        }
  312.93 -
  312.94 -        private final static String byteToCharTable =
  312.95 -
  312.96 -            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +        // 0x80 - 0x87
  312.97 -            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +        // 0x88 - 0x8F
  312.98 -            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +        // 0x90 - 0x97
  312.99 -            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +        // 0x98 - 0x9F
 312.100 -            "\u00A0\u201D\u00A2\u00A3\u00A4\u201E\u00A6\u00A7" +        // 0xA0 - 0xA7
 312.101 -            "\u00D8\u00A9\u0156\u00AB\u00AC\u00AD\u00AE\u00C6" +        // 0xA8 - 0xAF
 312.102 -            "\u00B0\u00B1\u00B2\u00B3\u201C\u00B5\u00B6\u00B7" +        // 0xB0 - 0xB7
 312.103 -            "\u00F8\u00B9\u0157\u00BB\u00BC\u00BD\u00BE\u00E6" +        // 0xB8 - 0xBF
 312.104 -            "\u0104\u012E\u0100\u0106\u00C4\u00C5\u0118\u0112" +        // 0xC0 - 0xC7
 312.105 -            "\u010C\u00C9\u0179\u0116\u0122\u0136\u012A\u013B" +        // 0xC8 - 0xCF
 312.106 -            "\u0160\u0143\u0145\u00D3\u014C\u00D5\u00D6\u00D7" +        // 0xD0 - 0xD7
 312.107 -            "\u0172\u0141\u015A\u016A\u00DC\u017B\u017D\u00DF" +        // 0xD8 - 0xDF
 312.108 -            "\u0105\u012F\u0101\u0107\u00E4\u00E5\u0119\u0113" +        // 0xE0 - 0xE7
 312.109 -            "\u010D\u00E9\u017A\u0117\u0123\u0137\u012B\u013C" +        // 0xE8 - 0xEF
 312.110 -            "\u0161\u0144\u0146\u00F3\u014D\u00F5\u00F6\u00F7" +        // 0xF0 - 0xF7
 312.111 -            "\u0173\u0142\u015B\u016B\u00FC\u017C\u017E\u2019" +        // 0xF8 - 0xFF
 312.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 312.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 312.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 312.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 312.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 312.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 312.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 312.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 312.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 312.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 312.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 312.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 312.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 312.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 312.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 312.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 312.128 -
 312.129 -    }
 312.130 -
 312.131 -    private static class Encoder extends SingleByteEncoder {
 312.132 -            public Encoder(Charset cs) {
 312.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 312.134 -            }
 312.135 -
 312.136 -            private final static String index2 =
 312.137 -
 312.138 -
 312.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 312.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 312.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 312.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 312.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 312.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 312.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 312.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 312.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 312.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 312.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 312.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 312.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 312.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 312.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 312.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 312.155 -            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 312.156 -            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
 312.157 -            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
 312.158 -            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
 312.159 -            "\u00A0\u0000\u00A2\u00A3\u00A4\u0000\u00A6\u00A7" +
 312.160 -            "\u0000\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u0000" +
 312.161 -            "\u00B0\u00B1\u00B2\u00B3\u0000\u00B5\u00B6\u00B7" +
 312.162 -            "\u0000\u00B9\u0000\u00BB\u00BC\u00BD\u00BE\u0000" +
 312.163 -            "\u0000\u0000\u0000\u0000\u00C4\u00C5\u00AF\u0000" +
 312.164 -            "\u0000\u00C9\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.165 -            "\u0000\u0000\u0000\u00D3\u0000\u00D5\u00D6\u00D7" +
 312.166 -            "\u00A8\u0000\u0000\u0000\u00DC\u0000\u0000\u00DF" +
 312.167 -            "\u0000\u0000\u0000\u0000\u00E4\u00E5\u00BF\u0000" +
 312.168 -            "\u0000\u00E9\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.169 -            "\u0000\u0000\u0000\u00F3\u0000\u00F5\u00F6\u00F7" +
 312.170 -            "\u00B8\u0000\u0000\u0000\u00FC\u0000\u0000\u0000" +
 312.171 -            "\u00C2\u00E2\u0000\u0000\u00C0\u00E0\u00C3\u00E3" +
 312.172 -            "\u0000\u0000\u0000\u0000\u00C8\u00E8\u0000\u0000" +
 312.173 -            "\u0000\u0000\u00C7\u00E7\u0000\u0000\u00CB\u00EB" +
 312.174 -            "\u00C6\u00E6\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.175 -            "\u0000\u0000\u00CC\u00EC\u0000\u0000\u0000\u0000" +
 312.176 -            "\u0000\u0000\u00CE\u00EE\u0000\u0000\u00C1\u00E1" +
 312.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00CD\u00ED" +
 312.178 -            "\u0000\u0000\u0000\u00CF\u00EF\u0000\u0000\u0000" +
 312.179 -            "\u0000\u00D9\u00F9\u00D1\u00F1\u00D2\u00F2\u0000" +
 312.180 -            "\u0000\u0000\u0000\u0000\u00D4\u00F4\u0000\u0000" +
 312.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00AA\u00BA" +
 312.182 -            "\u0000\u0000\u00DA\u00FA\u0000\u0000\u0000\u0000" +
 312.183 -            "\u00D0\u00F0\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.184 -            "\u0000\u0000\u00DB\u00FB\u0000\u0000\u0000\u0000" +
 312.185 -            "\u0000\u0000\u00D8\u00F8\u0000\u0000\u0000\u0000" +
 312.186 -            "\u0000\u00CA\u00EA\u00DD\u00FD\u00DE\u00FE\u0000" +
 312.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00FF" +
 312.219 -            "\u0000\u0000\u00B4\u00A1\u00A5\u0000\u0000\u0000" +
 312.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 312.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000";
 312.248 -
 312.249 -    private final static short index1[] = {
 312.250 -            0, 256, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 312.251 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 312.252 -            614, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 312.253 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 312.254 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 312.255 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 312.256 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 312.257 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 312.258 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 312.259 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 312.260 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 312.261 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 312.262 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 312.263 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 312.264 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 312.265 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 312.266 -
 312.267 -        };
 312.268 -    }
 312.269 -}
   313.1 --- a/src/share/classes/sun/nio/cs/ext/IBM922.java	Wed Jan 14 21:35:03 2009 -0800
   313.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   313.3 @@ -1,262 +0,0 @@
   313.4 -
   313.5 -/*
   313.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   313.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   313.8 - *
   313.9 - * This code is free software; you can redistribute it and/or modify it
  313.10 - * under the terms of the GNU General Public License version 2 only, as
  313.11 - * published by the Free Software Foundation.  Sun designates this
  313.12 - * particular file as subject to the "Classpath" exception as provided
  313.13 - * by Sun in the LICENSE file that accompanied this code.
  313.14 - *
  313.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  313.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  313.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  313.18 - * version 2 for more details (a copy is included in the LICENSE file that
  313.19 - * accompanied this code).
  313.20 - *
  313.21 - * You should have received a copy of the GNU General Public License version
  313.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  313.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  313.24 - *
  313.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  313.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  313.27 - * have any questions.
  313.28 - */
  313.29 -
  313.30 -package sun.nio.cs.ext;
  313.31 -
  313.32 -
  313.33 -import java.nio.charset.Charset;
  313.34 -import java.nio.charset.CharsetDecoder;
  313.35 -import java.nio.charset.CharsetEncoder;
  313.36 -import sun.nio.cs.StandardCharsets;
  313.37 -import sun.nio.cs.SingleByteDecoder;
  313.38 -import sun.nio.cs.SingleByteEncoder;
  313.39 -import sun.nio.cs.HistoricallyNamedCharset;
  313.40 -
  313.41 -public class IBM922
  313.42 -    extends Charset
  313.43 -    implements HistoricallyNamedCharset
  313.44 -{
  313.45 -
  313.46 -    public IBM922() {
  313.47 -        super("x-IBM922", ExtendedCharsets.aliasesFor("x-IBM922"));
  313.48 -    }
  313.49 -
  313.50 -    public String historicalName() {
  313.51 -        return "Cp922";
  313.52 -    }
  313.53 -
  313.54 -    public boolean contains(Charset cs) {
  313.55 -        return (cs instanceof IBM922);
  313.56 -    }
  313.57 -
  313.58 -    public CharsetDecoder newDecoder() {
  313.59 -        return new Decoder(this);
  313.60 -    }
  313.61 -
  313.62 -    public CharsetEncoder newEncoder() {
  313.63 -        return new Encoder(this);
  313.64 -    }
  313.65 -
  313.66 -
  313.67 -    /**
  313.68 -     * These accessors are temporarily supplied while sun.io
  313.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  313.70 -     * These facilitate sharing of conversion tables between the
  313.71 -     * two co-existing implementations. When sun.io converters
  313.72 -     * are made extinct these will be unncessary and should be removed
  313.73 -     */
  313.74 -
  313.75 -    public String getDecoderSingleByteMappings() {
  313.76 -        return Decoder.byteToCharTable;
  313.77 -
  313.78 -    }
  313.79 -
  313.80 -    public short[] getEncoderIndex1() {
  313.81 -        return Encoder.index1;
  313.82 -
  313.83 -    }
  313.84 -    public String getEncoderIndex2() {
  313.85 -        return Encoder.index2;
  313.86 -
  313.87 -    }
  313.88 -
  313.89 -    private static class Decoder extends SingleByteDecoder {
  313.90 -            public Decoder(Charset cs) {
  313.91 -                super(cs, byteToCharTable);
  313.92 -        }
  313.93 -
  313.94 -        private final static String byteToCharTable =
  313.95 -
  313.96 -            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +        // 0x80 - 0x87
  313.97 -            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +        // 0x88 - 0x8F
  313.98 -            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +        // 0x90 - 0x97
  313.99 -            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +        // 0x98 - 0x9F
 313.100 -            "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +        // 0xA0 - 0xA7
 313.101 -            "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u203E" +        // 0xA8 - 0xAF
 313.102 -            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +        // 0xB0 - 0xB7
 313.103 -            "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +        // 0xB8 - 0xBF
 313.104 -            "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +        // 0xC0 - 0xC7
 313.105 -            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +        // 0xC8 - 0xCF
 313.106 -            "\u0160\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +        // 0xD0 - 0xD7
 313.107 -            "\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u017D\u00DF" +        // 0xD8 - 0xDF
 313.108 -            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +        // 0xE0 - 0xE7
 313.109 -            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +        // 0xE8 - 0xEF
 313.110 -            "\u0161\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +        // 0xF0 - 0xF7
 313.111 -            "\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u017E\u00FF" +        // 0xF8 - 0xFF
 313.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 313.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 313.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 313.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 313.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 313.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 313.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 313.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 313.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 313.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 313.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 313.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 313.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 313.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 313.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 313.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 313.128 -
 313.129 -    }
 313.130 -
 313.131 -    private static class Encoder extends SingleByteEncoder {
 313.132 -            public Encoder(Charset cs) {
 313.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 313.134 -            }
 313.135 -
 313.136 -            private final static String index2 =
 313.137 -
 313.138 -
 313.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 313.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 313.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 313.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 313.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 313.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 313.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 313.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 313.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 313.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 313.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 313.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 313.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 313.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 313.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 313.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 313.155 -            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 313.156 -            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
 313.157 -            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
 313.158 -            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
 313.159 -            "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +
 313.160 -            "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u0000" +
 313.161 -            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
 313.162 -            "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +
 313.163 -            "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 313.164 -            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +
 313.165 -            "\u0000\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +
 313.166 -            "\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u0000\u00DF" +
 313.167 -            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +
 313.168 -            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +
 313.169 -            "\u0000\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 313.170 -            "\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u0000\u00FF" +
 313.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.183 -            "\u00D0\u00F0\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.186 -            "\u0000\u0000\u0000\u0000\u0000\u00DE\u00FE\u0000" +
 313.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00AF" +
 313.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 313.243 -            "\u0000";
 313.244 -
 313.245 -    private final static short index1[] = {
 313.246 -            0, 256, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 313.247 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 313.248 -            577, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 313.249 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 313.250 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 313.251 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 313.252 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 313.253 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 313.254 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 313.255 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 313.256 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 313.257 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 313.258 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 313.259 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 313.260 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 313.261 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 313.262 -
 313.263 -        };
 313.264 -    }
 313.265 -}
   314.1 --- a/src/share/classes/sun/nio/cs/ext/ISO_8859_11.java	Wed Jan 14 21:35:03 2009 -0800
   314.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   314.3 @@ -1,215 +0,0 @@
   314.4 -/*
   314.5 - * Copyright 2003 Sun Microsystems, Inc.  All Rights Reserved.
   314.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   314.7 - *
   314.8 - * This code is free software; you can redistribute it and/or modify it
   314.9 - * under the terms of the GNU General Public License version 2 only, as
  314.10 - * published by the Free Software Foundation.  Sun designates this
  314.11 - * particular file as subject to the "Classpath" exception as provided
  314.12 - * by Sun in the LICENSE file that accompanied this code.
  314.13 - *
  314.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
  314.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  314.16 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  314.17 - * version 2 for more details (a copy is included in the LICENSE file that
  314.18 - * accompanied this code).
  314.19 - *
  314.20 - * You should have received a copy of the GNU General Public License version
  314.21 - * 2 along with this work; if not, write to the Free Software Foundation,
  314.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  314.23 - *
  314.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  314.25 - * CA 95054 USA or visit www.sun.com if you need additional information or
  314.26 - * have any questions.
  314.27 - */
  314.28 -
  314.29 -/*
  314.30 - *
  314.31 - * NIO charset Support for Latin/Thai x-ISO-8859-11 charset
  314.32 - * (Currently not IANA registered)
  314.33 - */
  314.34 -
  314.35 -package sun.nio.cs.ext;
  314.36 -
  314.37 -import java.nio.charset.Charset;
  314.38 -import java.nio.charset.CharsetDecoder;
  314.39 -import java.nio.charset.CharsetEncoder;
  314.40 -import sun.nio.cs.SingleByteEncoder;
  314.41 -import sun.nio.cs.SingleByteDecoder;
  314.42 -
  314.43 -public class ISO_8859_11 extends Charset
  314.44 -{
  314.45 -
  314.46 -    public ISO_8859_11() {
  314.47 -        super("x-iso-8859-11", ExtendedCharsets.aliasesFor("x-iso-8859-11"));
  314.48 -    }
  314.49 -
  314.50 -    public boolean contains(Charset cs) {
  314.51 -        return ((cs.name().equals("US-ASCII"))
  314.52 -                || (cs instanceof ISO_8859_11));
  314.53 -    }
  314.54 -
  314.55 -    public CharsetDecoder newDecoder() {
  314.56 -        return new Decoder(this);
  314.57 -    }
  314.58 -
  314.59 -    public CharsetEncoder newEncoder() {
  314.60 -        return new Encoder(this);
  314.61 -    }
  314.62 -
  314.63 -    protected static class Decoder extends SingleByteDecoder {
  314.64 -
  314.65 -        public Decoder(Charset cs) {
  314.66 -            super(cs, byteToCharTable);
  314.67 -        }
  314.68 -
  314.69 -        private final static String byteToCharTable =
  314.70 -
  314.71 -            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +     // 0x80 - 0x87
  314.72 -            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +     // 0x88 - 0x8F
  314.73 -            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +     // 0x90 - 0x97
  314.74 -            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +     // 0x98 - 0x9F
  314.75 -            "\u00A0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07" +     // 0xA0 - 0xA7
  314.76 -            "\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F" +     // 0xA8 - 0xAF
  314.77 -            "\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17" +     // 0xB0 - 0xB7
  314.78 -            "\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F" +     // 0xB8 - 0xBF
  314.79 -            "\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27" +     // 0xC0 - 0xC7
  314.80 -            "\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F" +     // 0xC8 - 0xCF
  314.81 -            "\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37" +     // 0xD0 - 0xD7
  314.82 -            "\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F" +     // 0xD8 - 0xDF
  314.83 -            "\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47" +     // 0xE0 - 0xE7
  314.84 -            "\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F" +     // 0xE8 - 0xEF
  314.85 -            "\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57" +     // 0xF0 - 0xF7
  314.86 -            "\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xF8 - 0xFF
  314.87 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
  314.88 -            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
  314.89 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
  314.90 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
  314.91 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
  314.92 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
  314.93 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
  314.94 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
  314.95 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
  314.96 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
  314.97 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
  314.98 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
  314.99 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 314.100 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 314.101 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 314.102 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 314.103 -
 314.104 -    }
 314.105 -
 314.106 -    protected static class Encoder extends SingleByteEncoder {
 314.107 -
 314.108 -        public Encoder(Charset cs) {
 314.109 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 314.110 -        }
 314.111 -
 314.112 -        private final static String index2 =
 314.113 -
 314.114 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 314.115 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 314.116 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 314.117 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 314.118 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 314.119 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 314.120 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 314.121 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 314.122 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 314.123 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 314.124 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 314.125 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 314.126 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 314.127 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 314.128 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 314.129 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 314.130 -            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 314.131 -            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
 314.132 -            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
 314.133 -            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
 314.134 -            "\u00A0\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.135 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.136 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.137 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.138 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.139 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.140 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.141 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.142 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.143 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.144 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.145 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.146 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.147 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.148 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.149 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.150 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.151 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.152 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.153 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.160 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.162 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.166 -            "\u0000\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +
 314.167 -            "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +
 314.168 -            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
 314.169 -            "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +
 314.170 -            "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 314.171 -            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +
 314.172 -            "\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +
 314.173 -            "\u00D8\u00D9\u00DA\u0000\u0000\u0000\u0000\u00DF" +
 314.174 -            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +
 314.175 -            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +
 314.176 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 314.177 -            "\u00F8\u00F9\u00FA\u00FB\u0000\u0000\u0000\u0000" +
 314.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 314.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 314.198 -
 314.199 -        private final static short index1[] = {
 314.200 -            0, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 416, 161,
 314.201 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 314.202 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 314.203 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 314.204 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 314.205 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 314.206 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 314.207 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 314.208 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 314.209 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 314.210 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 314.211 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 314.212 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 314.213 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 314.214 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 314.215 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 314.216 -        };
 314.217 -    }
 314.218 -}
   315.1 --- a/src/share/classes/sun/nio/cs/ext/ISO_8859_3.java	Wed Jan 14 21:35:03 2009 -0800
   315.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   315.3 @@ -1,243 +0,0 @@
   315.4 -
   315.5 -/*
   315.6 - * Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
   315.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   315.8 - *
   315.9 - * This code is free software; you can redistribute it and/or modify it
  315.10 - * under the terms of the GNU General Public License version 2 only, as
  315.11 - * published by the Free Software Foundation.  Sun designates this
  315.12 - * particular file as subject to the "Classpath" exception as provided
  315.13 - * by Sun in the LICENSE file that accompanied this code.
  315.14 - *
  315.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  315.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  315.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  315.18 - * version 2 for more details (a copy is included in the LICENSE file that
  315.19 - * accompanied this code).
  315.20 - *
  315.21 - * You should have received a copy of the GNU General Public License version
  315.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  315.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  315.24 - *
  315.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  315.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  315.27 - * have any questions.
  315.28 - */
  315.29 -
  315.30 -package sun.nio.cs.ext;
  315.31 -
  315.32 -import java.nio.ByteBuffer;
  315.33 -import java.nio.CharBuffer;
  315.34 -import java.nio.charset.Charset;
  315.35 -import java.nio.charset.CharsetDecoder;
  315.36 -import java.nio.charset.CharsetEncoder;
  315.37 -import java.nio.charset.CharacterCodingException;
  315.38 -import java.nio.charset.MalformedInputException;
  315.39 -import java.nio.charset.UnmappableCharacterException;
  315.40 -import sun.nio.cs.StandardCharsets;
  315.41 -import sun.nio.cs.SingleByteDecoder;
  315.42 -import sun.nio.cs.SingleByteEncoder;
  315.43 -import sun.nio.cs.HistoricallyNamedCharset;
  315.44 -
  315.45 -public class ISO_8859_3
  315.46 -    extends Charset
  315.47 -    implements HistoricallyNamedCharset
  315.48 -{
  315.49 -
  315.50 -    public ISO_8859_3() {
  315.51 -        super("ISO-8859-3", ExtendedCharsets.aliasesFor("ISO-8859-3"));
  315.52 -    }
  315.53 -
  315.54 -    public String historicalName() {
  315.55 -        return "ISO8859_3";
  315.56 -    }
  315.57 -
  315.58 -    public boolean contains(Charset cs) {
  315.59 -        return ((cs.name().equals("US-ASCII"))
  315.60 -                || (cs instanceof ISO_8859_3));
  315.61 -    }
  315.62 -
  315.63 -    public CharsetDecoder newDecoder() {
  315.64 -        return new Decoder(this);
  315.65 -    }
  315.66 -
  315.67 -    public CharsetEncoder newEncoder() {
  315.68 -        return new Encoder(this);
  315.69 -    }
  315.70 -
  315.71 -
  315.72 -    /**
  315.73 -     * These accessors are temporarily supplied while sun.io
  315.74 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  315.75 -     * These facilitate sharing of conversion tables between the
  315.76 -     * two co-existing implementations. When sun.io converters
  315.77 -     * are made extinct these will be unncessary and should be removed
  315.78 -     */
  315.79 -
  315.80 -    public String getDecoderSingleByteMappings() {
  315.81 -        return Decoder.byteToCharTable;
  315.82 -    }
  315.83 -
  315.84 -    public short[] getEncoderIndex1() {
  315.85 -        return Encoder.index1;
  315.86 -
  315.87 -    }
  315.88 -    public String getEncoderIndex2() {
  315.89 -        return Encoder.index2;
  315.90 -
  315.91 -    }
  315.92 -
  315.93 -    private static class Decoder extends SingleByteDecoder {
  315.94 -        public Decoder(Charset cs) {
  315.95 -            super(cs, byteToCharTable);
  315.96 -        }
  315.97 -
  315.98 -        private final static String byteToCharTable =
  315.99 -
 315.100 -            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +     // 0x80 - 0x87
 315.101 -            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +     // 0x88 - 0x8F
 315.102 -            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +     // 0x90 - 0x97
 315.103 -            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +     // 0x98 - 0x9F
 315.104 -            "\u00A0\u0126\u02D8\u00A3\u00A4\uFFFD\u0124\u00A7" +     // 0xA0 - 0xA7
 315.105 -            "\u00A8\u0130\u015E\u011E\u0134\u00AD\uFFFD\u017B" +     // 0xA8 - 0xAF
 315.106 -            "\u00B0\u0127\u00B2\u00B3\u00B4\u00B5\u0125\u00B7" +     // 0xB0 - 0xB7
 315.107 -            "\u00B8\u0131\u015F\u011F\u0135\u00BD\uFFFD\u017C" +     // 0xB8 - 0xBF
 315.108 -            "\u00C0\u00C1\u00C2\uFFFD\u00C4\u010A\u0108\u00C7" +     // 0xC0 - 0xC7
 315.109 -            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +     // 0xC8 - 0xCF
 315.110 -            "\uFFFD\u00D1\u00D2\u00D3\u00D4\u0120\u00D6\u00D7" +     // 0xD0 - 0xD7
 315.111 -            "\u011C\u00D9\u00DA\u00DB\u00DC\u016C\u015C\u00DF" +     // 0xD8 - 0xDF
 315.112 -            "\u00E0\u00E1\u00E2\uFFFD\u00E4\u010B\u0109\u00E7" +     // 0xE0 - 0xE7
 315.113 -            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +     // 0xE8 - 0xEF
 315.114 -            "\uFFFD\u00F1\u00F2\u00F3\u00F4\u0121\u00F6\u00F7" +     // 0xF0 - 0xF7
 315.115 -            "\u011D\u00F9\u00FA\u00FB\u00FC\u016D\u015D\u02D9" +     // 0xF8 - 0xFF
 315.116 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 315.117 -            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 315.118 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 315.119 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 315.120 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 315.121 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 315.122 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 315.123 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 315.124 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 315.125 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 315.126 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 315.127 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 315.128 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 315.129 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 315.130 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 315.131 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 315.132 -    }
 315.133 -
 315.134 -    private static class Encoder extends SingleByteEncoder {
 315.135 -            public Encoder(Charset cs) {
 315.136 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 315.137 -        }
 315.138 -
 315.139 -        private final static String index2 =
 315.140 -
 315.141 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 315.142 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 315.143 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 315.144 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 315.145 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 315.146 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 315.147 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 315.148 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 315.149 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 315.150 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 315.151 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 315.152 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 315.153 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 315.154 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 315.155 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 315.156 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 315.157 -            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 315.158 -            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
 315.159 -            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
 315.160 -            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
 315.161 -            "\u00A0\u0000\u0000\u00A3\u00A4\u0000\u0000\u00A7" +
 315.162 -            "\u00A8\u0000\u0000\u0000\u0000\u00AD\u0000\u0000" +
 315.163 -            "\u00B0\u0000\u00B2\u00B3\u00B4\u00B5\u0000\u00B7" +
 315.164 -            "\u00B8\u0000\u0000\u0000\u0000\u00BD\u0000\u0000" +
 315.165 -            "\u00C0\u00C1\u00C2\u0000\u00C4\u0000\u0000\u00C7" +
 315.166 -            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +
 315.167 -            "\u0000\u00D1\u00D2\u00D3\u00D4\u0000\u00D6\u00D7" +
 315.168 -            "\u0000\u00D9\u00DA\u00DB\u00DC\u0000\u0000\u00DF" +
 315.169 -            "\u00E0\u00E1\u00E2\u0000\u00E4\u0000\u0000\u00E7" +
 315.170 -            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +
 315.171 -            "\u0000\u00F1\u00F2\u00F3\u00F4\u0000\u00F6\u00F7" +
 315.172 -            "\u0000\u00F9\u00FA\u00FB\u00FC\u0000\u0000\u0000" +
 315.173 -            "\u0000\u0000\u0000\u0000\u0000\u00C6\u00E6\u00C5" +
 315.174 -            "\u00E5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.176 -            "\u0000\u00D8\u00F8\u00AB\u00BB\u00D5\u00F5\u0000" +
 315.177 -            "\u0000\u00A6\u00B6\u00A1\u00B1\u0000\u0000\u0000" +
 315.178 -            "\u0000\u0000\u0000\u0000\u0000\u00A9\u00B9\u0000" +
 315.179 -            "\u0000\u00AC\u00BC\u0000\u0000\u0000\u0000\u0000" +
 315.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.184 -            "\u0000\u00DE\u00FE\u00AA\u00BA\u0000\u0000\u0000" +
 315.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.186 -            "\u0000\u00DD\u00FD\u0000\u0000\u0000\u0000\u0000" +
 315.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.188 -            "\u00AF\u00BF\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.220 -            "\u0000\u0000\u00A2\u00FF\u0000\u0000\u0000\u0000" +
 315.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 315.225 -            "\u0000\u0000";
 315.226 -
 315.227 -        private final static short index1[] = {
 315.228 -            0, 253, 418, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
 315.229 -            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
 315.230 -            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
 315.231 -            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
 315.232 -            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
 315.233 -            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
 315.234 -            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
 315.235 -            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
 315.236 -            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
 315.237 -            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
 315.238 -            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
 315.239 -            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
 315.240 -            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
 315.241 -            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
 315.242 -            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
 315.243 -            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
 315.244 -        };
 315.245 -    }
 315.246 -}
   316.1 --- a/src/share/classes/sun/nio/cs/ext/ISO_8859_6.java	Wed Jan 14 21:35:03 2009 -0800
   316.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   316.3 @@ -1,246 +0,0 @@
   316.4 -
   316.5 -/*
   316.6 - * Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
   316.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   316.8 - *
   316.9 - * This code is free software; you can redistribute it and/or modify it
  316.10 - * under the terms of the GNU General Public License version 2 only, as
  316.11 - * published by the Free Software Foundation.  Sun designates this
  316.12 - * particular file as subject to the "Classpath" exception as provided
  316.13 - * by Sun in the LICENSE file that accompanied this code.
  316.14 - *
  316.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  316.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  316.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  316.18 - * version 2 for more details (a copy is included in the LICENSE file that
  316.19 - * accompanied this code).
  316.20 - *
  316.21 - * You should have received a copy of the GNU General Public License version
  316.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  316.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  316.24 - *
  316.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  316.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  316.27 - * have any questions.
  316.28 - */
  316.29 -
  316.30 -package sun.nio.cs.ext;
  316.31 -
  316.32 -import java.nio.ByteBuffer;
  316.33 -import java.nio.CharBuffer;
  316.34 -import java.nio.charset.Charset;
  316.35 -import java.nio.charset.CharsetDecoder;
  316.36 -import java.nio.charset.CharsetEncoder;
  316.37 -import java.nio.charset.CharacterCodingException;
  316.38 -import java.nio.charset.MalformedInputException;
  316.39 -import java.nio.charset.UnmappableCharacterException;
  316.40 -import sun.nio.cs.StandardCharsets;
  316.41 -import sun.nio.cs.SingleByteDecoder;
  316.42 -import sun.nio.cs.SingleByteEncoder;
  316.43 -import sun.nio.cs.HistoricallyNamedCharset;
  316.44 -
  316.45 -public class ISO_8859_6
  316.46 -    extends Charset
  316.47 -    implements HistoricallyNamedCharset
  316.48 -{
  316.49 -
  316.50 -    public ISO_8859_6() {
  316.51 -        super("ISO-8859-6", ExtendedCharsets.aliasesFor("ISO-8859-6"));
  316.52 -    }
  316.53 -
  316.54 -    public String historicalName() {
  316.55 -        return "ISO8859_6";
  316.56 -    }
  316.57 -
  316.58 -    public boolean contains(Charset cs) {
  316.59 -        return ((cs.name().equals("US-ASCII"))
  316.60 -                || (cs instanceof ISO_8859_6));
  316.61 -    }
  316.62 -
  316.63 -    public CharsetDecoder newDecoder() {
  316.64 -        return new Decoder(this);
  316.65 -    }
  316.66 -
  316.67 -    public CharsetEncoder newEncoder() {
  316.68 -        return new Encoder(this);
  316.69 -    }
  316.70 -
  316.71 -
  316.72 -
  316.73 -    /**
  316.74 -     * These accessors are temporarily supplied while sun.io
  316.75 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  316.76 -     * These facilitate sharing of conversion tables between the
  316.77 -     * two co-existing implementations. When sun.io converters
  316.78 -     * are made extinct these will be unncessary and should be removed
  316.79 -     */
  316.80 -
  316.81 -    public String getDecoderSingleByteMappings() {
  316.82 -        return Decoder.byteToCharTable;
  316.83 -
  316.84 -    }
  316.85 -
  316.86 -    public short[] getEncoderIndex1() {
  316.87 -        return Encoder.index1;
  316.88 -
  316.89 -    }
  316.90 -    public String getEncoderIndex2() {
  316.91 -        return Encoder.index2;
  316.92 -
  316.93 -    }
  316.94 -
  316.95 -    private static class Decoder extends SingleByteDecoder {
  316.96 -        public Decoder(Charset cs) {
  316.97 -            super(cs, byteToCharTable);
  316.98 -        }
  316.99 -
 316.100 -        private final static String byteToCharTable =
 316.101 -
 316.102 -            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +     // 0x80 - 0x87
 316.103 -            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +     // 0x88 - 0x8F
 316.104 -            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +     // 0x90 - 0x97
 316.105 -            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +     // 0x98 - 0x9F
 316.106 -            "\u00A0\uFFFD\uFFFD\uFFFD\u00A4\uFFFD\uFFFD\uFFFD" +     // 0xA0 - 0xA7
 316.107 -            "\uFFFD\uFFFD\uFFFD\uFFFD\u060C\u00AD\uFFFD\uFFFD" +     // 0xA8 - 0xAF
 316.108 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xB0 - 0xB7
 316.109 -            "\uFFFD\uFFFD\uFFFD\u061B\uFFFD\uFFFD\uFFFD\u061F" +     // 0xB8 - 0xBF
 316.110 -            "\uFFFD\u0621\u0622\u0623\u0624\u0625\u0626\u0627" +     // 0xC0 - 0xC7
 316.111 -            "\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F" +     // 0xC8 - 0xCF
 316.112 -            "\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637" +     // 0xD0 - 0xD7
 316.113 -            "\u0638\u0639\u063A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xD8 - 0xDF
 316.114 -            "\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647" +     // 0xE0 - 0xE7
 316.115 -            "\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F" +     // 0xE8 - 0xEF
 316.116 -            "\u0650\u0651\u0652\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xF0 - 0xF7
 316.117 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xF8 - 0xFF
 316.118 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 316.119 -            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 316.120 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 316.121 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 316.122 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 316.123 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 316.124 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 316.125 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 316.126 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 316.127 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 316.128 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 316.129 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 316.130 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 316.131 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 316.132 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 316.133 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 316.134 -
 316.135 -    }
 316.136 -
 316.137 -    private static class Encoder extends SingleByteEncoder {
 316.138 -            public Encoder(Charset cs) {
 316.139 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 316.140 -        }
 316.141 -
 316.142 -        private final static String index2 =
 316.143 -
 316.144 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 316.145 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 316.146 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 316.147 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 316.148 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 316.149 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 316.150 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 316.151 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 316.152 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 316.153 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 316.154 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 316.155 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 316.156 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 316.157 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 316.158 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 316.159 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 316.160 -            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 316.161 -            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
 316.162 -            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
 316.163 -            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
 316.164 -            "\u00A0\u0000\u0000\u0000\u00A4\u0000\u0000\u0000" +
 316.165 -            "\u0000\u0000\u0000\u0000\u0000\u00AD\u0000\u0000" +
 316.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00AC\u0000" +
 316.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.199 -            "\u0000\u0000\u0000\u0000\u0000\u00BB\u0000\u0000" +
 316.200 -            "\u0000\u00BF\u0000\u00C1\u00C2\u00C3\u00C4\u00C5" +
 316.201 -            "\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD" +
 316.202 -            "\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5" +
 316.203 -            "\u00D6\u00D7\u00D8\u00D9\u00DA\u0000\u0000\u0000" +
 316.204 -            "\u0000\u0000\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5" +
 316.205 -            "\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED" +
 316.206 -            "\u00EE\u00EF\u00F0\u00F1\u00F2\u0000\u0000\u0000" +
 316.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 316.228 -            "\u0000\u0000";
 316.229 -
 316.230 -        private final static short index1[] = {
 316.231 -            0, 174, 174, 174, 174, 174, 418, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 316.232 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 316.233 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 316.234 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 316.235 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 316.236 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 316.237 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 316.238 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 316.239 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 316.240 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 316.241 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 316.242 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 316.243 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 316.244 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 316.245 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 316.246 -            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
 316.247 -        };
 316.248 -    }
 316.249 -}
   317.1 --- a/src/share/classes/sun/nio/cs/ext/ISO_8859_8.java	Wed Jan 14 21:35:03 2009 -0800
   317.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   317.3 @@ -1,259 +0,0 @@
   317.4 -
   317.5 -/*
   317.6 - * Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
   317.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   317.8 - *
   317.9 - * This code is free software; you can redistribute it and/or modify it
  317.10 - * under the terms of the GNU General Public License version 2 only, as
  317.11 - * published by the Free Software Foundation.  Sun designates this
  317.12 - * particular file as subject to the "Classpath" exception as provided
  317.13 - * by Sun in the LICENSE file that accompanied this code.
  317.14 - *
  317.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  317.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  317.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  317.18 - * version 2 for more details (a copy is included in the LICENSE file that
  317.19 - * accompanied this code).
  317.20 - *
  317.21 - * You should have received a copy of the GNU General Public License version
  317.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  317.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  317.24 - *
  317.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  317.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  317.27 - * have any questions.
  317.28 - */
  317.29 -
  317.30 -package sun.nio.cs.ext;
  317.31 -
  317.32 -import java.nio.ByteBuffer;
  317.33 -import java.nio.CharBuffer;
  317.34 -import java.nio.charset.Charset;
  317.35 -import java.nio.charset.CharsetDecoder;
  317.36 -import java.nio.charset.CharsetEncoder;
  317.37 -import java.nio.charset.CharacterCodingException;
  317.38 -import java.nio.charset.MalformedInputException;
  317.39 -import java.nio.charset.UnmappableCharacterException;
  317.40 -import sun.nio.cs.StandardCharsets;
  317.41 -import sun.nio.cs.SingleByteDecoder;
  317.42 -import sun.nio.cs.SingleByteEncoder;
  317.43 -import sun.nio.cs.HistoricallyNamedCharset;
  317.44 -
  317.45 -
  317.46 -public class ISO_8859_8
  317.47 -    extends Charset
  317.48 -    implements HistoricallyNamedCharset
  317.49 -{
  317.50 -
  317.51 -    public ISO_8859_8() {
  317.52 -        super("ISO-8859-8", ExtendedCharsets.aliasesFor("ISO-8859-8"));
  317.53 -    }
  317.54 -
  317.55 -    public String historicalName() {
  317.56 -        return "ISO8859_8";
  317.57 -    }
  317.58 -
  317.59 -    public boolean contains(Charset cs) {
  317.60 -        return ((cs.name().equals("US-ASCII"))
  317.61 -                || (cs instanceof ISO_8859_8));
  317.62 -    }
  317.63 -
  317.64 -    public CharsetDecoder newDecoder() {
  317.65 -        return new Decoder(this);
  317.66 -    }
  317.67 -
  317.68 -    public CharsetEncoder newEncoder() {
  317.69 -        return new Encoder(this);
  317.70 -    }
  317.71 -
  317.72 -
  317.73 -    /**
  317.74 -     * These accessors are temporarily supplied while sun.io
  317.75 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  317.76 -     * These facilitate sharing of conversion tables between the
  317.77 -     * two co-existing implementations. When sun.io converters
  317.78 -     * are made extinct these will be unncessary and should be removed
  317.79 -     */
  317.80 -
  317.81 -    public String getDecoderSingleByteMappings() {
  317.82 -        return Decoder.byteToCharTable;
  317.83 -
  317.84 -    }
  317.85 -
  317.86 -    public short[] getEncoderIndex1() {
  317.87 -        return Encoder.index1;
  317.88 -
  317.89 -    }
  317.90 -    public String getEncoderIndex2() {
  317.91 -        return Encoder.index2;
  317.92 -
  317.93 -    }
  317.94 -
  317.95 -    private static class Decoder extends SingleByteDecoder {
  317.96 -        public Decoder(Charset cs) {
  317.97 -            super(cs, byteToCharTable);
  317.98 -        }
  317.99 -
 317.100 -        private final static String byteToCharTable =
 317.101 -
 317.102 -            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +     // 0x80 - 0x87
 317.103 -            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +     // 0x88 - 0x8F
 317.104 -            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +     // 0x90 - 0x97
 317.105 -            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +     // 0x98 - 0x9F
 317.106 -            "\u00A0\uFFFD\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +     // 0xA0 - 0xA7
 317.107 -            "\u00A8\u00A9\u00D7\u00AB\u00AC\u00AD\u00AE\u00AF" +     // 0xA8 - 0xAF
 317.108 -            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +     // 0xB0 - 0xB7
 317.109 -            "\u00B8\u00B9\u00F7\u00BB\u00BC\u00BD\u00BE\uFFFD" +     // 0xB8 - 0xBF
 317.110 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xC0 - 0xC7
 317.111 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xC8 - 0xCF
 317.112 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xD0 - 0xD7
 317.113 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2017" +     // 0xD8 - 0xDF
 317.114 -            "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7" +     // 0xE0 - 0xE7
 317.115 -            "\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF" +     // 0xE8 - 0xEF
 317.116 -            "\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7" +     // 0xF0 - 0xF7
 317.117 -            "\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD" +     // 0xF8 - 0xFF
 317.118 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 317.119 -            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 317.120 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 317.121 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 317.122 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 317.123 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 317.124 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 317.125 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 317.126 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 317.127 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 317.128 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 317.129 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 317.130 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 317.131 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 317.132 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 317.133 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 317.134 -    }
 317.135 -
 317.136 -    private static class Encoder extends SingleByteEncoder {
 317.137 -            public Encoder(Charset cs) {
 317.138 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 317.139 -        }
 317.140 -
 317.141 -        private final static String index2 =
 317.142 -
 317.143 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 317.144 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 317.145 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 317.146 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 317.147 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 317.148 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 317.149 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 317.150 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 317.151 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 317.152 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 317.153 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 317.154 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 317.155 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 317.156 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 317.157 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 317.158 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 317.159 -            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
 317.160 -            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
 317.161 -            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
 317.162 -            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
 317.163 -            "\u00A0\u0000\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +
 317.164 -            "\u00A8\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u00AF" +
 317.165 -            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
 317.166 -            "\u00B8\u00B9\u0000\u00BB\u00BC\u00BD\u00BE\u0000" +
 317.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00AA" +
 317.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BA" +
 317.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.206 -            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +
 317.207 -            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +
 317.208 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 317.209 -            "\u00F8\u00F9\u00FA\u0000\u0000\u0000\u0000\u0000" +
 317.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.212 -            "\u00FD\u00FE\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.213 -            "\u0000\u00DF\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 317.242 -            "\u0000\u0000";
 317.243 -        private final static short index1[] = {
 317.244 -            0, 248, 248, 248, 248, 296, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 317.245 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 317.246 -            538, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 317.247 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 317.248 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 317.249 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 317.250 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 317.251 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 317.252 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 317.253 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 317.254 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 317.255 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 317.256 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 317.257 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 317.258 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 317.259 -            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
 317.260 -        };
 317.261 -    }
 317.262 -}
   318.1 --- a/src/share/classes/sun/nio/cs/ext/MS1255.java	Wed Jan 14 21:35:03 2009 -0800
   318.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   318.3 @@ -1,333 +0,0 @@
   318.4 -
   318.5 -/*
   318.6 - * Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
   318.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   318.8 - *
   318.9 - * This code is free software; you can redistribute it and/or modify it
  318.10 - * under the terms of the GNU General Public License version 2 only, as
  318.11 - * published by the Free Software Foundation.  Sun designates this
  318.12 - * particular file as subject to the "Classpath" exception as provided
  318.13 - * by Sun in the LICENSE file that accompanied this code.
  318.14 - *
  318.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  318.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  318.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  318.18 - * version 2 for more details (a copy is included in the LICENSE file that
  318.19 - * accompanied this code).
  318.20 - *
  318.21 - * You should have received a copy of the GNU General Public License version
  318.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  318.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  318.24 - *
  318.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  318.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  318.27 - * have any questions.
  318.28 - */
  318.29 -
  318.30 -package sun.nio.cs.ext;
  318.31 -
  318.32 -import java.nio.ByteBuffer;
  318.33 -import java.nio.CharBuffer;
  318.34 -import java.nio.charset.Charset;
  318.35 -import java.nio.charset.CharsetDecoder;
  318.36 -import java.nio.charset.CharsetEncoder;
  318.37 -import java.nio.charset.CharacterCodingException;
  318.38 -import java.nio.charset.MalformedInputException;
  318.39 -import java.nio.charset.UnmappableCharacterException;
  318.40 -import sun.nio.cs.StandardCharsets;
  318.41 -import sun.nio.cs.SingleByteDecoder;
  318.42 -import sun.nio.cs.SingleByteEncoder;
  318.43 -import sun.nio.cs.HistoricallyNamedCharset;
  318.44 -
  318.45 -
  318.46 -public class MS1255
  318.47 -    extends Charset
  318.48 -    implements HistoricallyNamedCharset
  318.49 -{
  318.50 -
  318.51 -    public String historicalName() {
  318.52 -        return "Cp1255";
  318.53 -    }
  318.54 -
  318.55 -    public MS1255() {
  318.56 -        super("windows-1255", ExtendedCharsets.aliasesFor("windows-1255"));
  318.57 -    }
  318.58 -
  318.59 -    public boolean contains(Charset cs) {
  318.60 -        return ((cs.name().equals("US-ASCII"))
  318.61 -                || (cs instanceof MS1255));
  318.62 -    }
  318.63 -
  318.64 -    public CharsetDecoder newDecoder() {
  318.65 -        return new Decoder(this);
  318.66 -    }
  318.67 -
  318.68 -    public CharsetEncoder newEncoder() {
  318.69 -        return new Encoder(this);
  318.70 -    }
  318.71 -
  318.72 -
  318.73 -    /**
  318.74 -     * These accessors are temporarily supplied while sun.io
  318.75 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  318.76 -     * These facilitate sharing of conversion tables between the
  318.77 -     * two co-existing implementations. When sun.io converters
  318.78 -     * are made extinct these will be unncessary and should be removed
  318.79 -     */
  318.80 -
  318.81 -    public String getDecoderSingleByteMappings() {
  318.82 -        return MS1255.Decoder.byteToCharTable;
  318.83 -    }
  318.84 -
  318.85 -    public short[] getEncoderIndex1() {
  318.86 -        return MS1255.Encoder.index1;
  318.87 -    }
  318.88 -
  318.89 -    public String getEncoderIndex2() {
  318.90 -        return MS1255.Encoder.index2;
  318.91 -    }
  318.92 -
  318.93 -    private static class Decoder extends SingleByteDecoder {
  318.94 -            public Decoder(Charset cs) {
  318.95 -                super(cs, byteToCharTable);
  318.96 -        }
  318.97 -
  318.98 -        private final static String byteToCharTable =
  318.99 -
 318.100 -            "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021" +     // 0x80 - 0x87
 318.101 -            "\u02C6\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0x88 - 0x8F
 318.102 -            "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" +     // 0x90 - 0x97
 318.103 -            "\u02DC\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0x98 - 0x9F
 318.104 -            "\u00A0\u00A1\u00A2\u00A3\u20AA\u00A5\u00A6\u00A7" +     // 0xA0 - 0xA7
 318.105 -            "\u00A8\u00A9\u00D7\u00AB\u00AC\u00AD\u00AE\u00AF" +     // 0xA8 - 0xAF
 318.106 -            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +     // 0xB0 - 0xB7
 318.107 -            "\u00B8\u00B9\u00F7\u00BB\u00BC\u00BD\u00BE\u00BF" +     // 0xB8 - 0xBF
 318.108 -            "\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7" +     // 0xC0 - 0xC7
 318.109 -            "\u05B8\u05B9\uFFFD\u05BB\u05BC\u05BD\u05BE\u05BF" +     // 0xC8 - 0xCF
 318.110 -            "\u05C0\u05C1\u05C2\u05C3\u05F0\u05F1\u05F2\u05F3" +     // 0xD0 - 0xD7
 318.111 -            "\u05F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xD8 - 0xDF
 318.112 -            "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7" +     // 0xE0 - 0xE7
 318.113 -            "\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF" +     // 0xE8 - 0xEF
 318.114 -            "\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7" +     // 0xF0 - 0xF7
 318.115 -            "\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD" +     // 0xF8 - 0xFF
 318.116 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 318.117 -            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 318.118 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 318.119 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 318.120 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 318.121 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 318.122 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 318.123 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 318.124 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 318.125 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 318.126 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 318.127 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 318.128 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 318.129 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 318.130 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 318.131 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 318.132 -    }
 318.133 -
 318.134 -    private static class Encoder extends SingleByteEncoder {
 318.135 -            public Encoder(Charset cs) {
 318.136 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 318.137 -        }
 318.138 -
 318.139 -        private final static String index2 =
 318.140 -
 318.141 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 318.142 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 318.143 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 318.144 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 318.145 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 318.146 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 318.147 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 318.148 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 318.149 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 318.150 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 318.151 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 318.152 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 318.153 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 318.154 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 318.155 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 318.156 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 318.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.160 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.161 -            "\u00A0\u00A1\u00A2\u00A3\u0000\u00A5\u00A6\u00A7" +
 318.162 -            "\u00A8\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u00AF" +
 318.163 -            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
 318.164 -            "\u00B8\u00B9\u0000\u00BB\u00BC\u00BD\u00BE\u00BF" +
 318.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00AA" +
 318.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BA" +
 318.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.190 -            "\u0000\u0000\u0083\u0000\u0000\u0000\u0000\u0000" +
 318.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.222 -            "\u0000\u0000\u0000\u0088\u0000\u0000\u0000\u0000" +
 318.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.225 -            "\u0000\u0098\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.247 -            "\u0000\u0000\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5" +
 318.248 -            "\u00C6\u00C7\u00C8\u00C9\u0000\u00CB\u00CC\u00CD" +
 318.249 -            "\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3\u0000\u0000" +
 318.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.251 -            "\u0000\u0000\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5" +
 318.252 -            "\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED" +
 318.253 -            "\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5" +
 318.254 -            "\u00F6\u00F7\u00F8\u00F9\u00FA\u0000\u0000\u0000" +
 318.255 -            "\u0000\u0000\u00D4\u00D5\u00D6\u00D7\u00D8\u0000" +
 318.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.257 -            "\u0000\u0000\u0000\u0000\u0000\u00FD\u00FE\u0000" +
 318.258 -            "\u0000\u0000\u0096\u0097\u0000\u0000\u0000\u0091" +
 318.259 -            "\u0092\u0082\u0000\u0093\u0094\u0084\u0000\u0086" +
 318.260 -            "\u0087\u0095\u0000\u0000\u0000\u0085\u0000\u0000" +
 318.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0089" +
 318.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.263 -            "\u008B\u009B\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.277 -            "\u0000\u00A4\u0000\u0080\u0000\u0000\u0000\u0000" +
 318.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.286 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0099" +
 318.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.307 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.308 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.309 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.310 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.311 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.312 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.313 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.314 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 318.315 -            "\u0000\u0000\u0000\u0000\u0000";
 318.316 -
 318.317 -        private final static short index1[] = {
 318.318 -            0, 248, 453, 395, 395, 674, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 318.319 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 318.320 -            919, 1141, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 318.321 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 318.322 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 318.323 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 318.324 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 318.325 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 318.326 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 318.327 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 318.328 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 318.329 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 318.330 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 318.331 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 318.332 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 318.333 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 318.334 -        };
 318.335 -    }
 318.336 -}
   319.1 --- a/src/share/classes/sun/nio/cs/ext/MS1256.java	Wed Jan 14 21:35:03 2009 -0800
   319.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   319.3 @@ -1,334 +0,0 @@
   319.4 -
   319.5 -/*
   319.6 - * Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
   319.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   319.8 - *
   319.9 - * This code is free software; you can redistribute it and/or modify it
  319.10 - * under the terms of the GNU General Public License version 2 only, as
  319.11 - * published by the Free Software Foundation.  Sun designates this
  319.12 - * particular file as subject to the "Classpath" exception as provided
  319.13 - * by Sun in the LICENSE file that accompanied this code.
  319.14 - *
  319.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  319.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  319.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  319.18 - * version 2 for more details (a copy is included in the LICENSE file that
  319.19 - * accompanied this code).
  319.20 - *
  319.21 - * You should have received a copy of the GNU General Public License version
  319.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  319.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  319.24 - *
  319.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  319.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  319.27 - * have any questions.
  319.28 - */
  319.29 -
  319.30 -package sun.nio.cs.ext;
  319.31 -
  319.32 -import java.nio.ByteBuffer;
  319.33 -import java.nio.CharBuffer;
  319.34 -import java.nio.charset.Charset;
  319.35 -import java.nio.charset.CharsetDecoder;
  319.36 -import java.nio.charset.CharsetEncoder;
  319.37 -import java.nio.charset.CharacterCodingException;
  319.38 -import java.nio.charset.MalformedInputException;
  319.39 -import java.nio.charset.UnmappableCharacterException;
  319.40 -import sun.nio.cs.StandardCharsets;
  319.41 -import sun.nio.cs.SingleByteDecoder;
  319.42 -import sun.nio.cs.SingleByteEncoder;
  319.43 -import sun.nio.cs.HistoricallyNamedCharset;
  319.44 -
  319.45 -public class MS1256
  319.46 -    extends Charset
  319.47 -    implements HistoricallyNamedCharset
  319.48 -{
  319.49 -
  319.50 -    public String historicalName() {
  319.51 -        return "Cp1256";
  319.52 -    }
  319.53 -
  319.54 -    public MS1256() {
  319.55 -        super("windows-1256", ExtendedCharsets.aliasesFor("windows-1256"));
  319.56 -    }
  319.57 -
  319.58 -    public boolean contains(Charset cs) {
  319.59 -        return ((cs.name().equals("US-ASCII"))
  319.60 -                || (cs instanceof MS1256));
  319.61 -    }
  319.62 -
  319.63 -    public CharsetDecoder newDecoder() {
  319.64 -        return new Decoder(this);
  319.65 -    }
  319.66 -
  319.67 -    public CharsetEncoder newEncoder() {
  319.68 -        return new Encoder(this);
  319.69 -    }
  319.70 -
  319.71 -
  319.72 -    /**
  319.73 -     * These accessors are temporarily supplied while sun.io
  319.74 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  319.75 -     * These facilitate sharing of conversion tables between the
  319.76 -     * two co-existing implementations. When sun.io converters
  319.77 -     * are made extinct these will be unncessary and should be removed
  319.78 -     */
  319.79 -
  319.80 -    public String getDecoderSingleByteMappings() {
  319.81 -        return MS1256.Decoder.byteToCharTable;
  319.82 -    }
  319.83 -
  319.84 -    public short[] getEncoderIndex1() {
  319.85 -        return MS1256.Encoder.index1;
  319.86 -    }
  319.87 -
  319.88 -    public String getEncoderIndex2() {
  319.89 -        return MS1256.Encoder.index2;
  319.90 -    }
  319.91 -
  319.92 -    private static class Decoder extends SingleByteDecoder {
  319.93 -            public Decoder(Charset cs) {
  319.94 -                super(cs, byteToCharTable);
  319.95 -        }
  319.96 -
  319.97 -    private final static String byteToCharTable =
  319.98 -
  319.99 -        "\u20AC\u067E\u201A\u0192\u201E\u2026\u2020\u2021" +     // 0x80 - 0x87
 319.100 -        "\u02C6\u2030\u0679\u2039\u0152\u0686\u0698\u0688" +     // 0x88 - 0x8F
 319.101 -        "\u06AF\u2018\u2019\u201C\u201D\u2022\u2013\u2014" +     // 0x90 - 0x97
 319.102 -        "\u06A9\u2122\u0691\u203A\u0153\u200C\u200D\u06BA" +     // 0x98 - 0x9F
 319.103 -        "\u00A0\u060C\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +     // 0xA0 - 0xA7
 319.104 -        "\u00A8\u00A9\u06BE\u00AB\u00AC\u00AD\u00AE\u00AF" +     // 0xA8 - 0xAF
 319.105 -        "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +     // 0xB0 - 0xB7
 319.106 -        "\u00B8\u00B9\u061B\u00BB\u00BC\u00BD\u00BE\u061F" +     // 0xB8 - 0xBF
 319.107 -        "\u06C1\u0621\u0622\u0623\u0624\u0625\u0626\u0627" +     // 0xC0 - 0xC7
 319.108 -        "\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F" +     // 0xC8 - 0xCF
 319.109 -        "\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u00D7" +     // 0xD0 - 0xD7
 319.110 -        "\u0637\u0638\u0639\u063A\u0640\u0641\u0642\u0643" +     // 0xD8 - 0xDF
 319.111 -        "\u00E0\u0644\u00E2\u0645\u0646\u0647\u0648\u00E7" +     // 0xE0 - 0xE7
 319.112 -        "\u00E8\u00E9\u00EA\u00EB\u0649\u064A\u00EE\u00EF" +     // 0xE8 - 0xEF
 319.113 -        "\u064B\u064C\u064D\u064E\u00F4\u064F\u0650\u00F7" +     // 0xF0 - 0xF7
 319.114 -        "\u0651\u00F9\u0652\u00FB\u00FC\u200E\u200F\u06D2" +     // 0xF8 - 0xFF
 319.115 -        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 319.116 -        "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 319.117 -        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 319.118 -        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 319.119 -        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 319.120 -        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 319.121 -        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 319.122 -        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 319.123 -        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 319.124 -        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 319.125 -        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 319.126 -        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 319.127 -        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 319.128 -        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 319.129 -        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 319.130 -        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 319.131 -    }
 319.132 -
 319.133 -    private static class Encoder extends SingleByteEncoder {
 319.134 -        public Encoder(Charset cs) {
 319.135 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 319.136 -        }
 319.137 -
 319.138 -        private final static String index2 =
 319.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 319.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 319.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 319.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 319.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 319.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 319.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 319.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 319.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 319.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 319.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 319.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 319.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 319.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 319.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 319.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 319.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.159 -            "\u00A0\u0000\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +
 319.160 -            "\u00A8\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u00AF" +
 319.161 -            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
 319.162 -            "\u00B8\u00B9\u0000\u00BB\u00BC\u00BD\u00BE\u0000" +
 319.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00D7" +
 319.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.167 -            "\u00E0\u0000\u00E2\u0000\u0000\u0000\u0000\u00E7" +
 319.168 -            "\u00E8\u00E9\u00EA\u00EB\u0000\u0000\u00EE\u00EF" +
 319.169 -            "\u0000\u0000\u0000\u0000\u00F4\u0000\u0000\u00F7" +
 319.170 -            "\u0000\u00F9\u0000\u00FB\u00FC\u0000\u0000\u0000" +
 319.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u008C" +
 319.181 -            "\u009C\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0083" +
 319.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.221 -            "\u0088\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.228 -            "\u0000\u0000\u00A1\u0000\u0000\u0000\u0000\u0000" +
 319.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.230 -            "\u0000\u00BA\u0000\u0000\u0000\u00BF\u0000\u00C1" +
 319.231 -            "\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9" +
 319.232 -            "\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1" +
 319.233 -            "\u00D2\u00D3\u00D4\u00D5\u00D6\u00D8\u00D9\u00DA" +
 319.234 -            "\u00DB\u0000\u0000\u0000\u0000\u0000\u00DC\u00DD" +
 319.235 -            "\u00DE\u00DF\u00E1\u00E3\u00E4\u00E5\u00E6\u00EC" +
 319.236 -            "\u00ED\u00F0\u00F1\u00F2\u00F3\u00F5\u00F6\u00F8" +
 319.237 -            "\u00FA\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u008A" +
 319.242 -            "\u0000\u0000\u0000\u0000\u0081\u0000\u0000\u0000" +
 319.243 -            "\u0000\u0000\u0000\u0000\u008D\u0000\u008F\u0000" +
 319.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u009A" +
 319.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u008E\u0000" +
 319.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0098" +
 319.248 -            "\u0000\u0000\u0000\u0000\u0000\u0090\u0000\u0000" +
 319.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.250 -            "\u009F\u0000\u0000\u0000\u00AA\u0000\u0000\u00C0" +
 319.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.253 -            "\u00FF\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u009D\u009E" +
 319.259 -            "\u00FD\u00FE\u0000\u0000\u0000\u0096\u0097\u0000" +
 319.260 -            "\u0000\u0000\u0091\u0092\u0082\u0000\u0093\u0094" +
 319.261 -            "\u0084\u0000\u0086\u0087\u0095\u0000\u0000\u0000" +
 319.262 -            "\u0085\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.263 -            "\u0000\u0000\u0089\u0000\u0000\u0000\u0000\u0000" +
 319.264 -            "\u0000\u0000\u0000\u008B\u009B\u0000\u0000\u0000" +
 319.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0000" +
 319.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.286 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.289 -            "\u0000\u0000\u0099\u0000\u0000\u0000\u0000\u0000" +
 319.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.307 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.308 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.309 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.310 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.311 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.312 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.313 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.314 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.315 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 319.316 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 319.317 -
 319.318 -        private final static short index1[] = {
 319.319 -            0, 253, 458, 400, 400, 400, 702, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 319.320 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 319.321 -            946, 1168, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 319.322 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 319.323 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 319.324 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 319.325 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 319.326 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 319.327 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 319.328 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 319.329 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 319.330 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 319.331 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 319.332 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 319.333 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 319.334 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 319.335 -        };
 319.336 -    }
 319.337 -}
   320.1 --- a/src/share/classes/sun/nio/cs/ext/MS1258.java	Wed Jan 14 21:35:03 2009 -0800
   320.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   320.3 @@ -1,340 +0,0 @@
   320.4 -
   320.5 -/*
   320.6 - * Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
   320.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   320.8 - *
   320.9 - * This code is free software; you can redistribute it and/or modify it
  320.10 - * under the terms of the GNU General Public License version 2 only, as
  320.11 - * published by the Free Software Foundation.  Sun designates this
  320.12 - * particular file as subject to the "Classpath" exception as provided
  320.13 - * by Sun in the LICENSE file that accompanied this code.
  320.14 - *
  320.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  320.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  320.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  320.18 - * version 2 for more details (a copy is included in the LICENSE file that
  320.19 - * accompanied this code).
  320.20 - *
  320.21 - * You should have received a copy of the GNU General Public License version
  320.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  320.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  320.24 - *
  320.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  320.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  320.27 - * have any questions.
  320.28 - */
  320.29 -
  320.30 -package sun.nio.cs.ext;
  320.31 -
  320.32 -import java.nio.ByteBuffer;
  320.33 -import java.nio.CharBuffer;
  320.34 -import java.nio.charset.Charset;
  320.35 -import java.nio.charset.CharsetDecoder;
  320.36 -import java.nio.charset.CharsetEncoder;
  320.37 -import java.nio.charset.CharacterCodingException;
  320.38 -import java.nio.charset.MalformedInputException;
  320.39 -import java.nio.charset.UnmappableCharacterException;
  320.40 -import sun.nio.cs.StandardCharsets;
  320.41 -import sun.nio.cs.SingleByteDecoder;
  320.42 -import sun.nio.cs.SingleByteEncoder;
  320.43 -import sun.nio.cs.HistoricallyNamedCharset;
  320.44 -
  320.45 -public class MS1258
  320.46 -    extends Charset
  320.47 -    implements HistoricallyNamedCharset
  320.48 -{
  320.49 -
  320.50 -    public String historicalName() {
  320.51 -        return "Cp1258";
  320.52 -    }
  320.53 -
  320.54 -    public MS1258() {
  320.55 -        super("windows-1258", ExtendedCharsets.aliasesFor("windows-1258"));
  320.56 -    }
  320.57 -
  320.58 -    public boolean contains(Charset cs) {
  320.59 -        return ((cs.name().equals("US-ASCII"))
  320.60 -                || (cs instanceof MS1258));
  320.61 -    }
  320.62 -
  320.63 -    public CharsetDecoder newDecoder() {
  320.64 -        return new Decoder(this);
  320.65 -    }
  320.66 -
  320.67 -    public CharsetEncoder newEncoder() {
  320.68 -        return new Encoder(this);
  320.69 -    }
  320.70 -
  320.71 -
  320.72 -    /**
  320.73 -     * These accessors are temporarily supplied while sun.io
  320.74 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  320.75 -     * These facilitate sharing of conversion tables between the
  320.76 -     * two co-existing implementations. When sun.io converters
  320.77 -     * are made extinct these will be unncessary and should be removed
  320.78 -     */
  320.79 -
  320.80 -    public String getDecoderSingleByteMappings() {
  320.81 -        return MS1258.Decoder.byteToCharTable;
  320.82 -    }
  320.83 -
  320.84 -    public short[] getEncoderIndex1() {
  320.85 -        return MS1258.Encoder.index1;
  320.86 -    }
  320.87 -
  320.88 -    public String getEncoderIndex2() {
  320.89 -        return MS1258.Encoder.index2;
  320.90 -    }
  320.91 -
  320.92 -    private static class Decoder extends SingleByteDecoder {
  320.93 -            public Decoder(Charset cs) {
  320.94 -                super(cs, byteToCharTable);
  320.95 -        }
  320.96 -
  320.97 -        private final static String byteToCharTable =
  320.98 -
  320.99 -            "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021" +     // 0x80 - 0x87
 320.100 -            "\u02C6\u2030\uFFFD\u2039\u0152\uFFFD\uFFFD\uFFFD" +     // 0x88 - 0x8F
 320.101 -            "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" +     // 0x90 - 0x97
 320.102 -            "\u02DC\u2122\uFFFD\u203A\u0153\uFFFD\uFFFD\u0178" +     // 0x98 - 0x9F
 320.103 -            "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +     // 0xA0 - 0xA7
 320.104 -            "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +     // 0xA8 - 0xAF
 320.105 -            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +     // 0xB0 - 0xB7
 320.106 -            "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +     // 0xB8 - 0xBF
 320.107 -            "\u00C0\u00C1\u00C2\u0102\u00C4\u00C5\u00C6\u00C7" +     // 0xC0 - 0xC7
 320.108 -            "\u00C8\u00C9\u00CA\u00CB\u0300\u00CD\u00CE\u00CF" +     // 0xC8 - 0xCF
 320.109 -            "\u0110\u00D1\u0309\u00D3\u00D4\u01A0\u00D6\u00D7" +     // 0xD0 - 0xD7
 320.110 -            "\u00D8\u00D9\u00DA\u00DB\u00DC\u01AF\u0303\u00DF" +     // 0xD8 - 0xDF
 320.111 -            "\u00E0\u00E1\u00E2\u0103\u00E4\u00E5\u00E6\u00E7" +     // 0xE0 - 0xE7
 320.112 -            "\u00E8\u00E9\u00EA\u00EB\u0301\u00ED\u00EE\u00EF" +     // 0xE8 - 0xEF
 320.113 -            "\u0111\u00F1\u0323\u00F3\u00F4\u01A1\u00F6\u00F7" +     // 0xF0 - 0xF7
 320.114 -            "\u00F8\u00F9\u00FA\u00FB\u00FC\u01B0\u20AB\u00FF" +     // 0xF8 - 0xFF
 320.115 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 320.116 -            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 320.117 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 320.118 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 320.119 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 320.120 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 320.121 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 320.122 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 320.123 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 320.124 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 320.125 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 320.126 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 320.127 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 320.128 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 320.129 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 320.130 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 320.131 -    }
 320.132 -
 320.133 -    private static class Encoder extends SingleByteEncoder {
 320.134 -            public Encoder(Charset cs) {
 320.135 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 320.136 -        }
 320.137 -
 320.138 -        private final static String index2 =
 320.139 -
 320.140 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 320.141 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 320.142 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 320.143 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 320.144 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 320.145 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 320.146 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 320.147 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 320.148 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 320.149 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 320.150 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 320.151 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 320.152 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 320.153 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 320.154 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 320.155 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 320.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.160 -            "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +
 320.161 -            "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +
 320.162 -            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
 320.163 -            "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +
 320.164 -            "\u00C0\u00C1\u00C2\u0000\u00C4\u00C5\u00C6\u00C7" +
 320.165 -            "\u00C8\u00C9\u00CA\u00CB\u0000\u00CD\u00CE\u00CF" +
 320.166 -            "\u0000\u00D1\u0000\u00D3\u00D4\u0000\u00D6\u00D7" +
 320.167 -            "\u00D8\u00D9\u00DA\u00DB\u00DC\u0000\u0000\u00DF" +
 320.168 -            "\u00E0\u00E1\u00E2\u0000\u00E4\u00E5\u00E6\u00E7" +
 320.169 -            "\u00E8\u00E9\u00EA\u00EB\u0000\u00ED\u00EE\u00EF" +
 320.170 -            "\u0000\u00F1\u0000\u00F3\u00F4\u0000\u00F6\u00F7" +
 320.171 -            "\u00F8\u00F9\u00FA\u00FB\u00FC\u0000\u0000\u00FF" +
 320.172 -            "\u0000\u0000\u00C3\u00E3\u0000\u0000\u0000\u0000" +
 320.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.174 -            "\u00D0\u00F0\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.182 -            "\u0000\u0000\u008C\u009C\u0000\u0000\u0000\u0000" +
 320.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.187 -            "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.190 -            "\u0000\u0000\u0083\u0000\u0000\u0000\u0000\u0000" +
 320.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.192 -            "\u00D5\u00F5\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DD" +
 320.194 -            "\u00FD\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.226 -            "\u0000\u0088\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0098" +
 320.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.233 -            "\u0000\u0000\u0000\u00CC\u00EC\u0000\u00DE\u0000" +
 320.234 -            "\u0000\u0000\u0000\u0000\u00D2\u0000\u0000\u0000" +
 320.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F2\u0000" +
 320.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.265 -            "\u0000\u0000\u0000\u0096\u0097\u0000\u0000\u0000" +
 320.266 -            "\u0091\u0092\u0082\u0000\u0093\u0094\u0084\u0000" +
 320.267 -            "\u0086\u0087\u0095\u0000\u0000\u0000\u0085\u0000" +
 320.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.269 -            "\u0089\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.270 -            "\u0000\u008B\u009B\u0000\u0000\u0000\u0000\u0000" +
 320.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.284 -            "\u0000\u0000\u0000\u00FE\u0080\u0000\u0000\u0000" +
 320.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.286 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.295 -            "\u0099\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.307 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.308 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.309 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.310 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.311 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.312 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.313 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.314 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.315 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.316 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.317 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.318 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.319 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.320 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.321 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 320.322 -            "\u0000\u0000\u0000\u0000\u0000\u0000";
 320.323 -
 320.324 -        private final static short index1[] = {
 320.325 -            0, 256, 491, 747, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
 320.326 -            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
 320.327 -            984, 1206, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
 320.328 -            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
 320.329 -            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
 320.330 -            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
 320.331 -            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
 320.332 -            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
 320.333 -            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
 320.334 -            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
 320.335 -            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
 320.336 -            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
 320.337 -            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
 320.338 -            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
 320.339 -            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
 320.340 -            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
 320.341 -        };
 320.342 -    }
 320.343 -}
   321.1 --- a/src/share/classes/sun/nio/cs/ext/MS874.java	Wed Jan 14 21:35:03 2009 -0800
   321.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   321.3 @@ -1,267 +0,0 @@
   321.4 -
   321.5 -/*
   321.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   321.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   321.8 - *
   321.9 - * This code is free software; you can redistribute it and/or modify it
  321.10 - * under the terms of the GNU General Public License version 2 only, as
  321.11 - * published by the Free Software Foundation.  Sun designates this
  321.12 - * particular file as subject to the "Classpath" exception as provided
  321.13 - * by Sun in the LICENSE file that accompanied this code.
  321.14 - *
  321.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  321.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  321.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  321.18 - * version 2 for more details (a copy is included in the LICENSE file that
  321.19 - * accompanied this code).
  321.20 - *
  321.21 - * You should have received a copy of the GNU General Public License version
  321.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  321.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  321.24 - *
  321.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  321.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  321.27 - * have any questions.
  321.28 - */
  321.29 -
  321.30 -/*
  321.31 - */
  321.32 -
  321.33 -package sun.nio.cs.ext;
  321.34 -
  321.35 -import java.nio.charset.Charset;
  321.36 -import java.nio.charset.CharsetDecoder;
  321.37 -import java.nio.charset.CharsetEncoder;
  321.38 -import sun.nio.cs.SingleByteEncoder;
  321.39 -import sun.nio.cs.SingleByteDecoder;
  321.40 -import sun.nio.cs.HistoricallyNamedCharset;
  321.41 -
  321.42 -public class MS874 extends Charset implements HistoricallyNamedCharset
  321.43 -{
  321.44 -    public MS874() {
  321.45 -        super("x-windows-874", ExtendedCharsets.aliasesFor("x-windows-874"));
  321.46 -    }
  321.47 -
  321.48 -    public String historicalName() {
  321.49 -        return "MS874";
  321.50 -    }
  321.51 -
  321.52 -    public boolean contains(Charset cs) {
  321.53 -        return ((cs.name().equals("US-ASCII"))
  321.54 -                || (cs instanceof MS874));
  321.55 -    }
  321.56 -
  321.57 -    public CharsetDecoder newDecoder() {
  321.58 -        return new Decoder(this);
  321.59 -    }
  321.60 -
  321.61 -    public CharsetEncoder newEncoder() {
  321.62 -        return new Encoder(this);
  321.63 -    }
  321.64 -
  321.65 -
  321.66 -    /**
  321.67 -     * These accessors are temporarily supplied while sun.io
  321.68 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  321.69 -     * These facilitate sharing of conversion tables between the
  321.70 -     * two co-existing implementations. When sun.io converters
  321.71 -     * are made extinct these will be unncessary and should be removed
  321.72 -     */
  321.73 -
  321.74 -    public String getDecoderSingleByteMappings() {
  321.75 -        return Decoder.byteToCharTable;
  321.76 -
  321.77 -    }
  321.78 -
  321.79 -    public short[] getEncoderIndex1() {
  321.80 -        return Encoder.index1;
  321.81 -
  321.82 -    }
  321.83 -    public String getEncoderIndex2() {
  321.84 -        return Encoder.index2;
  321.85 -
  321.86 -    }
  321.87 -
  321.88 -    protected static class Decoder extends SingleByteDecoder {
  321.89 -
  321.90 -        public Decoder(Charset cs) {
  321.91 -            super(cs, byteToCharTable);
  321.92 -        }
  321.93 -
  321.94 -        private final static String byteToCharTable =
  321.95 -            "\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\u2026\uFFFD\uFFFD" +     // 0x80 - 0x87
  321.96 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0x88 - 0x8F
  321.97 -            "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" +     // 0x90 - 0x97
  321.98 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0x98 - 0x9F
  321.99 -            "\u00A0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07" +     // 0xA0 - 0xA7
 321.100 -            "\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F" +     // 0xA8 - 0xAF
 321.101 -            "\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17" +     // 0xB0 - 0xB7
 321.102 -            "\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F" +     // 0xB8 - 0xBF
 321.103 -            "\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27" +     // 0xC0 - 0xC7
 321.104 -            "\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F" +     // 0xC8 - 0xCF
 321.105 -            "\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37" +     // 0xD0 - 0xD7
 321.106 -            "\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F" +     // 0xD8 - 0xDF
 321.107 -            "\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47" +     // 0xE0 - 0xE7
 321.108 -            "\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F" +     // 0xE8 - 0xEF
 321.109 -            "\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57" +     // 0xF0 - 0xF7
 321.110 -            "\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xF8 - 0xFF
 321.111 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 321.112 -            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 321.113 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 321.114 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 321.115 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 321.116 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 321.117 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 321.118 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 321.119 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 321.120 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 321.121 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 321.122 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 321.123 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 321.124 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 321.125 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 321.126 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 321.127 -    }
 321.128 -
 321.129 -    protected static class Encoder extends SingleByteEncoder {
 321.130 -
 321.131 -        public Encoder(Charset cs) {
 321.132 -            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 321.133 -        }
 321.134 -
 321.135 -        private final static String index2 =
 321.136 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 321.137 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 321.138 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 321.139 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 321.140 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 321.141 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 321.142 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 321.143 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 321.144 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 321.145 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 321.146 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 321.147 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 321.148 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 321.149 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 321.150 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 321.151 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 321.152 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.153 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.156 -            "\u00A0\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.160 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.162 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.188 -            "\u0000\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +
 321.189 -            "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +
 321.190 -            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
 321.191 -            "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +
 321.192 -            "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 321.193 -            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +
 321.194 -            "\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +
 321.195 -            "\u00D8\u00D9\u00DA\u0000\u0000\u0000\u0000\u00DF" +
 321.196 -            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +
 321.197 -            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +
 321.198 -            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 321.199 -            "\u00F8\u00F9\u00FA\u00FB\u0000\u0000\u0000\u0000" +
 321.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.220 -            "\u0096\u0097\u0000\u0000\u0000\u0091\u0092\u0000" +
 321.221 -            "\u0000\u0093\u0094\u0000\u0000\u0000\u0000\u0095" +
 321.222 -            "\u0000\u0000\u0000\u0085\u0000\u0000\u0000\u0000" +
 321.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.239 -            "\u0000\u0080\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 321.249 -            "\u0000\u0000\u0000\u0000\u0000";
 321.250 -
 321.251 -        private final static short index1[] = {
 321.252 -            0, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 416, 161,
 321.253 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 321.254 -            653, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 321.255 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 321.256 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 321.257 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 321.258 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 321.259 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 321.260 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 321.261 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 321.262 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 321.263 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 321.264 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 321.265 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 321.266 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 321.267 -            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 321.268 -        };
 321.269 -    }
 321.270 -}
   322.1 --- a/src/share/classes/sun/nio/cs/ext/MacArabic.java	Wed Jan 14 21:35:03 2009 -0800
   322.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   322.3 @@ -1,279 +0,0 @@
   322.4 -
   322.5 -/*
   322.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   322.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   322.8 - *
   322.9 - * This code is free software; you can redistribute it and/or modify it
  322.10 - * under the terms of the GNU General Public License version 2 only, as
  322.11 - * published by the Free Software Foundation.  Sun designates this
  322.12 - * particular file as subject to the "Classpath" exception as provided
  322.13 - * by Sun in the LICENSE file that accompanied this code.
  322.14 - *
  322.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  322.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  322.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  322.18 - * version 2 for more details (a copy is included in the LICENSE file that
  322.19 - * accompanied this code).
  322.20 - *
  322.21 - * You should have received a copy of the GNU General Public License version
  322.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  322.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  322.24 - *
  322.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  322.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  322.27 - * have any questions.
  322.28 - */
  322.29 -
  322.30 -package sun.nio.cs.ext;
  322.31 -
  322.32 -
  322.33 -import java.nio.charset.Charset;
  322.34 -import java.nio.charset.CharsetDecoder;
  322.35 -import java.nio.charset.CharsetEncoder;
  322.36 -import sun.nio.cs.StandardCharsets;
  322.37 -import sun.nio.cs.SingleByteDecoder;
  322.38 -import sun.nio.cs.SingleByteEncoder;
  322.39 -import sun.nio.cs.HistoricallyNamedCharset;
  322.40 -
  322.41 -public class MacArabic
  322.42 -    extends Charset
  322.43 -    implements HistoricallyNamedCharset
  322.44 -{
  322.45 -
  322.46 -    public MacArabic() {
  322.47 -        super("x-MacArabic", ExtendedCharsets.aliasesFor("x-MacArabic"));
  322.48 -    }
  322.49 -
  322.50 -    public String historicalName() {
  322.51 -        return "MacArabic";
  322.52 -    }
  322.53 -
  322.54 -    public boolean contains(Charset cs) {
  322.55 -        return (cs instanceof MacArabic);
  322.56 -    }
  322.57 -
  322.58 -    public CharsetDecoder newDecoder() {
  322.59 -        return new Decoder(this);
  322.60 -    }
  322.61 -
  322.62 -    public CharsetEncoder newEncoder() {
  322.63 -        return new Encoder(this);
  322.64 -    }
  322.65 -
  322.66 -
  322.67 -    /**
  322.68 -     * These accessors are temporarily supplied while sun.io
  322.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  322.70 -     * These facilitate sharing of conversion tables between the
  322.71 -     * two co-existing implementations. When sun.io converters
  322.72 -     * are made extinct these will be unncessary and should be removed
  322.73 -     */
  322.74 -
  322.75 -    public String getDecoderSingleByteMappings() {
  322.76 -        return Decoder.byteToCharTable;
  322.77 -
  322.78 -    }
  322.79 -
  322.80 -    public short[] getEncoderIndex1() {
  322.81 -        return Encoder.index1;
  322.82 -
  322.83 -    }
  322.84 -    public String getEncoderIndex2() {
  322.85 -        return Encoder.index2;
  322.86 -
  322.87 -    }
  322.88 -
  322.89 -    private static class Decoder extends SingleByteDecoder {
  322.90 -            public Decoder(Charset cs) {
  322.91 -                super(cs, byteToCharTable);
  322.92 -        }
  322.93 -
  322.94 -        private final static String byteToCharTable =
  322.95 -
  322.96 -            "\u00C4\u00A0\u00C7\u00C9\u00D1\u00D6\u00DC\u00E1" +        // 0x80 - 0x87
  322.97 -            "\u00E0\u00E2\u00E4\u06BA\u00AB\u00E7\u00E9\u00E8" +        // 0x88 - 0x8F
  322.98 -            "\u00EA\u00EB\u00ED\u2026\u00EE\u00EF\u00F1\u00F3" +        // 0x90 - 0x97
  322.99 -            "\u00BB\u00F4\u00F6\u00F7\u00FA\u00F9\u00FB\u00FC" +        // 0x98 - 0x9F
 322.100 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u066A\uFFFD\uFFFD" +        // 0xA0 - 0xA7
 322.101 -            "\uFFFD\uFFFD\uFFFD\uFFFD\u060C\uFFFD\uFFFD\uFFFD" +        // 0xA8 - 0xAF
 322.102 -            "\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667" +        // 0xB0 - 0xB7
 322.103 -            "\u0668\u0669\uFFFD\u061B\uFFFD\uFFFD\uFFFD\u061F" +        // 0xB8 - 0xBF
 322.104 -            "\u066D\u0621\u0622\u0623\u0624\u0625\u0626\u0627" +        // 0xC0 - 0xC7
 322.105 -            "\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F" +        // 0xC8 - 0xCF
 322.106 -            "\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637" +        // 0xD0 - 0xD7
 322.107 -            "\u0638\u0639\u063A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0xD8 - 0xDF
 322.108 -            "\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647" +        // 0xE0 - 0xE7
 322.109 -            "\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F" +        // 0xE8 - 0xEF
 322.110 -            "\u0650\u0651\u0652\u067E\u0679\u0686\u06D5\u06A4" +        // 0xF0 - 0xF7
 322.111 -            "\u06AF\u0688\u0691\uFFFD\uFFFD\uFFFD\u0698\u06D2" +        // 0xF8 - 0xFF
 322.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 322.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 322.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 322.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 322.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 322.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 322.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 322.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 322.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 322.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 322.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 322.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 322.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 322.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 322.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 322.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 322.128 -
 322.129 -    }
 322.130 -
 322.131 -    private static class Encoder extends SingleByteEncoder {
 322.132 -            public Encoder(Charset cs) {
 322.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 322.134 -            }
 322.135 -
 322.136 -            private final static String index2 =
 322.137 -
 322.138 -
 322.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 322.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 322.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 322.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 322.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 322.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 322.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 322.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 322.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 322.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 322.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 322.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 322.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 322.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 322.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 322.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 322.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.159 -            "\u0081\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.160 -            "\u0000\u0000\u0000\u008C\u0000\u0000\u0000\u0000" +
 322.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.162 -            "\u0000\u0000\u0000\u0098\u0000\u0000\u0000\u0000" +
 322.163 -            "\u0000\u0000\u0000\u0000\u0080\u0000\u0000\u0082" +
 322.164 -            "\u0000\u0083\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.165 -            "\u0000\u0084\u0000\u0000\u0000\u0000\u0085\u0000" +
 322.166 -            "\u0000\u0000\u0000\u0000\u0086\u0000\u0000\u0000" +
 322.167 -            "\u0088\u0087\u0089\u0000\u008A\u0000\u0000\u008D" +
 322.168 -            "\u008F\u008E\u0090\u0091\u0000\u0092\u0094\u0095" +
 322.169 -            "\u0000\u0096\u0000\u0097\u0099\u0000\u009A\u009B" +
 322.170 -            "\u0000\u009D\u009C\u009E\u009F\u0000\u0000\u0000" +
 322.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.202 -            "\u0000\u0000\u0000\u0000\u0000\u00AC\u0000\u0000" +
 322.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.204 -            "\u0000\u0000\u0000\u0000\u00BB\u0000\u0000\u0000" +
 322.205 -            "\u00BF\u0000\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6" +
 322.206 -            "\u00C7\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE" +
 322.207 -            "\u00CF\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
 322.208 -            "\u00D7\u00D8\u00D9\u00DA\u0000\u0000\u0000\u0000" +
 322.209 -            "\u0000\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6" +
 322.210 -            "\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE" +
 322.211 -            "\u00EF\u00F0\u00F1\u00F2\u0000\u0000\u0000\u0000" +
 322.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.213 -            "\u0000\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6" +
 322.214 -            "\u00B7\u00B8\u00B9\u00A5\u0000\u0000\u00C0\u0000" +
 322.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.216 -            "\u0000\u0000\u00F4\u0000\u0000\u0000\u0000\u00F3" +
 322.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F5" +
 322.218 -            "\u0000\u00F9\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.219 -            "\u0000\u0000\u00FA\u0000\u0000\u0000\u0000\u0000" +
 322.220 -            "\u0000\u00FE\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.221 -            "\u0000\u0000\u0000\u0000\u0000\u00F7\u0000\u0000" +
 322.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.223 -            "\u00F8\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.224 -            "\u0000\u0000\u0000\u008B\u0000\u0000\u0000\u0000" +
 322.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.227 -            "\u0000\u0000\u0000\u00FF\u0000\u0000\u00F6\u0000" +
 322.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.233 -            "\u0000\u0093\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 322.260 -            "\u0000\u0000\u0000";
 322.261 -
 322.262 -    private final static short index1[] = {
 322.263 -            0, 253, 253, 253, 253, 253, 497, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 322.264 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 322.265 -            715, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 322.266 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 322.267 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 322.268 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 322.269 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 322.270 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 322.271 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 322.272 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 322.273 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 322.274 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 322.275 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 322.276 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 322.277 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 322.278 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 322.279 -
 322.280 -        };
 322.281 -    }
 322.282 -}
   323.1 --- a/src/share/classes/sun/nio/cs/ext/MacCentralEurope.java	Wed Jan 14 21:35:03 2009 -0800
   323.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   323.3 @@ -1,346 +0,0 @@
   323.4 -
   323.5 -/*
   323.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   323.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   323.8 - *
   323.9 - * This code is free software; you can redistribute it and/or modify it
  323.10 - * under the terms of the GNU General Public License version 2 only, as
  323.11 - * published by the Free Software Foundation.  Sun designates this
  323.12 - * particular file as subject to the "Classpath" exception as provided
  323.13 - * by Sun in the LICENSE file that accompanied this code.
  323.14 - *
  323.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  323.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  323.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  323.18 - * version 2 for more details (a copy is included in the LICENSE file that
  323.19 - * accompanied this code).
  323.20 - *
  323.21 - * You should have received a copy of the GNU General Public License version
  323.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  323.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  323.24 - *
  323.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  323.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  323.27 - * have any questions.
  323.28 - */
  323.29 -
  323.30 -package sun.nio.cs.ext;
  323.31 -
  323.32 -
  323.33 -import java.nio.charset.Charset;
  323.34 -import java.nio.charset.CharsetDecoder;
  323.35 -import java.nio.charset.CharsetEncoder;
  323.36 -import sun.nio.cs.StandardCharsets;
  323.37 -import sun.nio.cs.SingleByteDecoder;
  323.38 -import sun.nio.cs.SingleByteEncoder;
  323.39 -import sun.nio.cs.HistoricallyNamedCharset;
  323.40 -
  323.41 -public class MacCentralEurope
  323.42 -    extends Charset
  323.43 -    implements HistoricallyNamedCharset
  323.44 -{
  323.45 -
  323.46 -    public MacCentralEurope() {
  323.47 -        super("x-MacCentralEurope", ExtendedCharsets.aliasesFor("x-MacCentralEurope"));
  323.48 -    }
  323.49 -
  323.50 -    public String historicalName() {
  323.51 -        return "MacCentralEurope";
  323.52 -    }
  323.53 -
  323.54 -    public boolean contains(Charset cs) {
  323.55 -        return (cs instanceof MacCentralEurope);
  323.56 -    }
  323.57 -
  323.58 -    public CharsetDecoder newDecoder() {
  323.59 -        return new Decoder(this);
  323.60 -    }
  323.61 -
  323.62 -    public CharsetEncoder newEncoder() {
  323.63 -        return new Encoder(this);
  323.64 -    }
  323.65 -
  323.66 -
  323.67 -    /**
  323.68 -     * These accessors are temporarily supplied while sun.io
  323.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  323.70 -     * These facilitate sharing of conversion tables between the
  323.71 -     * two co-existing implementations. When sun.io converters
  323.72 -     * are made extinct these will be unncessary and should be removed
  323.73 -     */
  323.74 -
  323.75 -    public String getDecoderSingleByteMappings() {
  323.76 -        return Decoder.byteToCharTable;
  323.77 -
  323.78 -    }
  323.79 -
  323.80 -    public short[] getEncoderIndex1() {
  323.81 -        return Encoder.index1;
  323.82 -
  323.83 -    }
  323.84 -    public String getEncoderIndex2() {
  323.85 -        return Encoder.index2;
  323.86 -
  323.87 -    }
  323.88 -
  323.89 -    private static class Decoder extends SingleByteDecoder {
  323.90 -            public Decoder(Charset cs) {
  323.91 -                super(cs, byteToCharTable);
  323.92 -        }
  323.93 -
  323.94 -        private final static String byteToCharTable =
  323.95 -
  323.96 -            "\u00C4\u0100\u0101\u00C9\u0104\u00D6\u00DC\u00E1" +        // 0x80 - 0x87
  323.97 -            "\u0105\u010C\u00E4\u010D\u0106\u0107\u00E9\u0179" +        // 0x88 - 0x8F
  323.98 -            "\u017A\u010E\u00ED\u010F\u0112\u0113\u0116\u00F3" +        // 0x90 - 0x97
  323.99 -            "\u0117\u00F4\u00F6\u00F5\u00FA\u011A\u011B\u00FC" +        // 0x98 - 0x9F
 323.100 -            "\u2020\u00B0\u0118\u00A3\u00A7\u2022\u00B6\u00DF" +        // 0xA0 - 0xA7
 323.101 -            "\u00AE\u00A9\u2122\u0119\u00A8\u2260\u0123\u012E" +        // 0xA8 - 0xAF
 323.102 -            "\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211" +        // 0xB0 - 0xB7
 323.103 -            "\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145" +        // 0xB8 - 0xBF
 323.104 -            "\u0146\u0143\u00AC\u221A\u0144\u0147\u2206\u00AB" +        // 0xC0 - 0xC7
 323.105 -            "\u00BB\u2026\u00A0\u0148\u0150\u00D5\u0151\u014C" +        // 0xC8 - 0xCF
 323.106 -            "\u2013\u2014\u201C\u201D\u2018\u2019\u00F7\u25CA" +        // 0xD0 - 0xD7
 323.107 -            "\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156" +        // 0xD8 - 0xDF
 323.108 -            "\u0157\u0160\u201A\u201E\u0161\u015A\u015B\u00C1" +        // 0xE0 - 0xE7
 323.109 -            "\u0164\u0165\u00CD\u017D\u017E\u016A\u00D3\u00D4" +        // 0xE8 - 0xEF
 323.110 -            "\u016B\u016E\u00DA\u016F\u0170\u0171\u0172\u0173" +        // 0xF0 - 0xF7
 323.111 -            "\u00DD\u00FD\u0137\u017B\u0141\u017C\u0122\u02C7" +        // 0xF8 - 0xFF
 323.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 323.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 323.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 323.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 323.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 323.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 323.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 323.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 323.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 323.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 323.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 323.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 323.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 323.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 323.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 323.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 323.128 -
 323.129 -    }
 323.130 -
 323.131 -    private static class Encoder extends SingleByteEncoder {
 323.132 -            public Encoder(Charset cs) {
 323.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 323.134 -            }
 323.135 -
 323.136 -            private final static String index2 =
 323.137 -
 323.138 -
 323.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 323.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 323.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 323.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 323.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 323.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 323.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 323.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 323.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 323.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 323.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 323.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 323.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 323.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 323.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 323.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 323.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.159 -            "\u00CA\u0000\u0000\u00A3\u0000\u0000\u0000\u00A4" +
 323.160 -            "\u00AC\u00A9\u0000\u00C7\u00C2\u0000\u00A8\u0000" +
 323.161 -            "\u00A1\u0000\u0000\u0000\u0000\u0000\u00A6\u0000" +
 323.162 -            "\u0000\u0000\u0000\u00C8\u0000\u0000\u0000\u0000" +
 323.163 -            "\u0000\u00E7\u0000\u0000\u0080\u0000\u0000\u0000" +
 323.164 -            "\u0000\u0083\u0000\u0000\u0000\u00EA\u0000\u0000" +
 323.165 -            "\u0000\u0000\u0000\u00EE\u00EF\u00CD\u0085\u0000" +
 323.166 -            "\u0000\u0000\u00F2\u0000\u0086\u00F8\u0000\u00A7" +
 323.167 -            "\u0000\u0087\u0000\u0000\u008A\u0000\u0000\u0000" +
 323.168 -            "\u0000\u008E\u0000\u0000\u0000\u0092\u0000\u0000" +
 323.169 -            "\u0000\u0000\u0000\u0097\u0099\u009B\u009A\u00D6" +
 323.170 -            "\u0000\u0000\u009C\u0000\u009F\u00F9\u0000\u0000" +
 323.171 -            "\u0081\u0082\u0000\u0000\u0084\u0088\u008C\u008D" +
 323.172 -            "\u0000\u0000\u0000\u0000\u0089\u008B\u0091\u0093" +
 323.173 -            "\u0000\u0000\u0094\u0095\u0000\u0000\u0096\u0098" +
 323.174 -            "\u00A2\u00AB\u009D\u009E\u0000\u0000\u0000\u0000" +
 323.175 -            "\u0000\u0000\u00FE\u00AE\u0000\u0000\u0000\u0000" +
 323.176 -            "\u0000\u0000\u00B1\u00B4\u0000\u0000\u00AF\u00B0" +
 323.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00B5\u00FA" +
 323.178 -            "\u0000\u00BD\u00BE\u00B9\u00BA\u00BB\u00BC\u0000" +
 323.179 -            "\u0000\u00FC\u00B8\u00C1\u00C4\u00BF\u00C0\u00C5" +
 323.180 -            "\u00CB\u0000\u0000\u0000\u00CF\u00D8\u0000\u0000" +
 323.181 -            "\u00CC\u00CE\u0000\u0000\u00D9\u00DA\u00DF\u00E0" +
 323.182 -            "\u00DB\u00DE\u00E5\u00E6\u0000\u0000\u0000\u0000" +
 323.183 -            "\u00E1\u00E4\u0000\u0000\u00E8\u00E9\u0000\u0000" +
 323.184 -            "\u0000\u0000\u00ED\u00F0\u0000\u0000\u00F1\u00F3" +
 323.185 -            "\u00F4\u00F5\u00F6\u00F7\u0000\u0000\u0000\u0000" +
 323.186 -            "\u0000\u008F\u0090\u00FB\u00FD\u00EB\u00EC\u0000" +
 323.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00FF" +
 323.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.226 -            "\u00D0\u00D1\u0000\u0000\u0000\u00D4\u00D5\u00E2" +
 323.227 -            "\u0000\u00D2\u00D3\u00E3\u0000\u00A0\u0000\u00A5" +
 323.228 -            "\u0000\u0000\u0000\u00C9\u0000\u0000\u0000\u0000" +
 323.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00DC\u00DD" +
 323.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.255 -            "\u0000\u0000\u0000\u0000\u0000\u00AA\u0000\u0000" +
 323.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.283 -            "\u0000\u0000\u0000\u00B6\u0000\u0000\u0000\u00C6" +
 323.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.285 -            "\u0000\u0000\u00B7\u0000\u0000\u0000\u0000\u0000" +
 323.286 -            "\u0000\u0000\u0000\u00C3\u0000\u0000\u0000\u0000" +
 323.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.295 -            "\u0000\u00AD\u0000\u0000\u0000\u00B2\u00B3\u0000" +
 323.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.307 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.308 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.309 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.310 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.311 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.312 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.313 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.314 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.315 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.316 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.317 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.318 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.319 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.320 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.321 -            "\u0000\u00D7\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.322 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.323 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.324 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.325 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.326 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 323.327 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 323.328 -
 323.329 -    private final static short index1[] = {
 323.330 -            0, 256, 440, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 323.331 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 323.332 -            677, 899, 1153, 383, 383, 1255, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 323.333 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 323.334 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 323.335 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 323.336 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 323.337 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 323.338 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 323.339 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 323.340 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 323.341 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 323.342 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 323.343 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 323.344 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 323.345 -            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
 323.346 -
 323.347 -        };
 323.348 -    }
 323.349 -}
   324.1 --- a/src/share/classes/sun/nio/cs/ext/MacCroatian.java	Wed Jan 14 21:35:03 2009 -0800
   324.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   324.3 @@ -1,402 +0,0 @@
   324.4 -
   324.5 -/*
   324.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   324.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   324.8 - *
   324.9 - * This code is free software; you can redistribute it and/or modify it
  324.10 - * under the terms of the GNU General Public License version 2 only, as
  324.11 - * published by the Free Software Foundation.  Sun designates this
  324.12 - * particular file as subject to the "Classpath" exception as provided
  324.13 - * by Sun in the LICENSE file that accompanied this code.
  324.14 - *
  324.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  324.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  324.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  324.18 - * version 2 for more details (a copy is included in the LICENSE file that
  324.19 - * accompanied this code).
  324.20 - *
  324.21 - * You should have received a copy of the GNU General Public License version
  324.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  324.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  324.24 - *
  324.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  324.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  324.27 - * have any questions.
  324.28 - */
  324.29 -
  324.30 -package sun.nio.cs.ext;
  324.31 -
  324.32 -
  324.33 -import java.nio.charset.Charset;
  324.34 -import java.nio.charset.CharsetDecoder;
  324.35 -import java.nio.charset.CharsetEncoder;
  324.36 -import sun.nio.cs.StandardCharsets;
  324.37 -import sun.nio.cs.SingleByteDecoder;
  324.38 -import sun.nio.cs.SingleByteEncoder;
  324.39 -import sun.nio.cs.HistoricallyNamedCharset;
  324.40 -
  324.41 -public class MacCroatian
  324.42 -    extends Charset
  324.43 -    implements HistoricallyNamedCharset
  324.44 -{
  324.45 -
  324.46 -    public MacCroatian() {
  324.47 -        super("x-MacCroatian", ExtendedCharsets.aliasesFor("x-MacCroatian"));
  324.48 -    }
  324.49 -
  324.50 -    public String historicalName() {
  324.51 -        return "MacCroatian";
  324.52 -    }
  324.53 -
  324.54 -    public boolean contains(Charset cs) {
  324.55 -        return (cs instanceof MacCroatian);
  324.56 -    }
  324.57 -
  324.58 -    public CharsetDecoder newDecoder() {
  324.59 -        return new Decoder(this);
  324.60 -    }
  324.61 -
  324.62 -    public CharsetEncoder newEncoder() {
  324.63 -        return new Encoder(this);
  324.64 -    }
  324.65 -
  324.66 -
  324.67 -    /**
  324.68 -     * These accessors are temporarily supplied while sun.io
  324.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  324.70 -     * These facilitate sharing of conversion tables between the
  324.71 -     * two co-existing implementations. When sun.io converters
  324.72 -     * are made extinct these will be unncessary and should be removed
  324.73 -     */
  324.74 -
  324.75 -    public String getDecoderSingleByteMappings() {
  324.76 -        return Decoder.byteToCharTable;
  324.77 -
  324.78 -    }
  324.79 -
  324.80 -    public short[] getEncoderIndex1() {
  324.81 -        return Encoder.index1;
  324.82 -
  324.83 -    }
  324.84 -    public String getEncoderIndex2() {
  324.85 -        return Encoder.index2;
  324.86 -
  324.87 -    }
  324.88 -
  324.89 -    private static class Decoder extends SingleByteDecoder {
  324.90 -            public Decoder(Charset cs) {
  324.91 -                super(cs, byteToCharTable);
  324.92 -        }
  324.93 -
  324.94 -        private final static String byteToCharTable =
  324.95 -
  324.96 -            "\u00C4\u00C5\u00C7\u00C9\u00D1\u00D6\u00DC\u00E1" +        // 0x80 - 0x87
  324.97 -            "\u00E0\u00E2\u00E4\u00E3\u00E5\u00E7\u00E9\u00E8" +        // 0x88 - 0x8F
  324.98 -            "\u00EA\u00EB\u00ED\u00EC\u00EE\u00EF\u00F1\u00F3" +        // 0x90 - 0x97
  324.99 -            "\u00F2\u00F4\u00F6\u00F5\u00FA\u00F9\u00FB\u00FC" +        // 0x98 - 0x9F
 324.100 -            "\u2020\u00B0\u00A2\u00A3\u00A7\u2022\u00B6\u00DF" +        // 0xA0 - 0xA7
 324.101 -            "\u00AE\u0160\u2122\u00B4\u00A8\u2260\u017D\u00D8" +        // 0xA8 - 0xAF
 324.102 -            "\u221E\u00B1\u2264\u2265\u2206\u00B5\u2202\u2211" +        // 0xB0 - 0xB7
 324.103 -            "\u220F\u0161\u222B\u00AA\u00BA\u2126\u017E\u00F8" +        // 0xB8 - 0xBF
 324.104 -            "\u00BF\u00A1\u00AC\u221A\u0192\u2248\u0106\u00AB" +        // 0xC0 - 0xC7
 324.105 -            "\u010C\u2026\u00A0\u00C0\u00C3\u00D5\u0152\u0153" +        // 0xC8 - 0xCF
 324.106 -            "\u0110\u2014\u201C\u201D\u2018\u2019\u00F7\u25CA" +        // 0xD0 - 0xD7
 324.107 -            "\uF8FF\u00A9\u2044\u00A4\u2039\u203A\u00C6\u00BB" +        // 0xD8 - 0xDF
 324.108 -            "\u2013\u00B7\u201A\u201E\u2030\u00C2\u0107\u00C1" +        // 0xE0 - 0xE7
 324.109 -            "\u010D\u00C8\u00CD\u00CE\u00CF\u00CC\u00D3\u00D4" +        // 0xE8 - 0xEF
 324.110 -            "\u0111\u00D2\u00DA\u00DB\u00D9\u0131\u02C6\u02DC" +        // 0xF0 - 0xF7
 324.111 -            "\u00AF\u03C0\u00CB\u02DA\u00B8\u00CA\u00E6\u02C7" +        // 0xF8 - 0xFF
 324.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 324.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 324.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 324.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 324.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 324.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 324.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 324.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 324.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 324.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 324.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 324.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 324.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 324.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 324.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 324.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 324.128 -
 324.129 -    }
 324.130 -
 324.131 -    private static class Encoder extends SingleByteEncoder {
 324.132 -            public Encoder(Charset cs) {
 324.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 324.134 -            }
 324.135 -
 324.136 -            private final static String index2 =
 324.137 -
 324.138 -
 324.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 324.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 324.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 324.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 324.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 324.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 324.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 324.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 324.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 324.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 324.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 324.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 324.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 324.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 324.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 324.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 324.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.159 -            "\u00CA\u00C1\u00A2\u00A3\u00DB\u0000\u0000\u00A4" +
 324.160 -            "\u00AC\u00D9\u00BB\u00C7\u00C2\u0000\u00A8\u00F8" +
 324.161 -            "\u00A1\u00B1\u0000\u0000\u00AB\u00B5\u00A6\u00E1" +
 324.162 -            "\u00FC\u0000\u00BC\u00DF\u0000\u0000\u0000\u00C0" +
 324.163 -            "\u00CB\u00E7\u00E5\u00CC\u0080\u0081\u00DE\u0082" +
 324.164 -            "\u00E9\u0083\u00FD\u00FA\u00ED\u00EA\u00EB\u00EC" +
 324.165 -            "\u0000\u0084\u00F1\u00EE\u00EF\u00CD\u0085\u0000" +
 324.166 -            "\u00AF\u00F4\u00F2\u00F3\u0086\u0000\u0000\u00A7" +
 324.167 -            "\u0088\u0087\u0089\u008B\u008A\u008C\u00FE\u008D" +
 324.168 -            "\u008F\u008E\u0090\u0091\u0093\u0092\u0094\u0095" +
 324.169 -            "\u0000\u0096\u0098\u0097\u0099\u009B\u009A\u00D6" +
 324.170 -            "\u00BF\u009D\u009C\u009E\u009F\u0000\u0000\u0000" +
 324.171 -            "\u0000\u0000\u0000\u00C6\u00E6\u0000\u0000\u0000" +
 324.172 -            "\u0000\u00C8\u00E8\u0000\u0000\u00D0\u00F0\u0000" +
 324.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F5\u0000" +
 324.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00CE" +
 324.181 -            "\u00CF\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.182 -            "\u0000\u0000\u0000\u0000\u0000\u00A9\u00B9\u0000" +
 324.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.186 -            "\u0000\u0000\u00AE\u00BE\u0000\u0000\u0000\u0000" +
 324.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C4" +
 324.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.221 -            "\u00F6\u00FF\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.223 -            "\u0000\u0000\u0000\u0000\u00FB\u0000\u00F7\u0000" +
 324.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F9" +
 324.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E0" +
 324.256 -            "\u00D1\u0000\u0000\u0000\u00D4\u00D5\u00E2\u0000" +
 324.257 -            "\u00D2\u00D3\u00E3\u0000\u00A0\u0000\u00A5\u0000" +
 324.258 -            "\u0000\u0000\u00C9\u0000\u0000\u0000\u0000\u0000" +
 324.259 -            "\u0000\u0000\u0000\u0000\u00E4\u0000\u0000\u0000" +
 324.260 -            "\u0000\u0000\u0000\u0000\u0000\u00DC\u00DD\u0000" +
 324.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.262 -            "\u00DA\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.285 -            "\u0000\u0000\u0000\u0000\u00AA\u0000\u0000\u0000" +
 324.286 -            "\u00BD\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.307 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.308 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.309 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.310 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.311 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.312 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.313 -            "\u0000\u0000\u00B6\u0000\u0000\u0000\u00B4\u0000" +
 324.314 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B8" +
 324.315 -            "\u0000\u00B7\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.316 -            "\u0000\u0000\u00C3\u0000\u0000\u0000\u00B0\u0000" +
 324.317 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.318 -            "\u0000\u0000\u0000\u00BA\u0000\u0000\u0000\u0000" +
 324.319 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.320 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.321 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.322 -            "\u00C5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.323 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.324 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.325 -            "\u00AD\u0000\u0000\u0000\u00B2\u00B3\u0000\u0000" +
 324.326 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.327 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.328 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.329 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.330 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.331 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.332 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.333 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.334 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.335 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.336 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.337 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.338 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.339 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.340 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.341 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.342 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.343 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.344 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.345 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.346 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.347 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.348 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.349 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.350 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.351 -            "\u00D7\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.352 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.353 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.354 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.355 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.356 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.357 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.358 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.359 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.360 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.361 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.362 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.363 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.364 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.365 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.366 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.367 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.368 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.369 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.370 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.371 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.372 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.373 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.374 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.375 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.376 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.377 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.378 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.379 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.380 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.381 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.382 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 324.383 -            "\u00D8";
 324.384 -
 324.385 -    private final static short index1[] = {
 324.386 -            0, 253, 458, 679, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 324.387 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 324.388 -            916, 1138, 1392, 400, 400, 1494, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 324.389 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 324.390 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 324.391 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 324.392 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 324.393 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 324.394 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 324.395 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 324.396 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 324.397 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 324.398 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 324.399 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 324.400 -            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
 324.401 -            400, 400, 400, 400, 400, 400, 400, 400, 1697, 400, 400, 400, 400, 400, 400, 400,
 324.402 -
 324.403 -        };
 324.404 -    }
 324.405 -}
   325.1 --- a/src/share/classes/sun/nio/cs/ext/MacCyrillic.java	Wed Jan 14 21:35:03 2009 -0800
   325.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   325.3 @@ -1,361 +0,0 @@
   325.4 -
   325.5 -/*
   325.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   325.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   325.8 - *
   325.9 - * This code is free software; you can redistribute it and/or modify it
  325.10 - * under the terms of the GNU General Public License version 2 only, as
  325.11 - * published by the Free Software Foundation.  Sun designates this
  325.12 - * particular file as subject to the "Classpath" exception as provided
  325.13 - * by Sun in the LICENSE file that accompanied this code.
  325.14 - *
  325.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  325.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  325.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  325.18 - * version 2 for more details (a copy is included in the LICENSE file that
  325.19 - * accompanied this code).
  325.20 - *
  325.21 - * You should have received a copy of the GNU General Public License version
  325.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  325.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  325.24 - *
  325.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  325.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  325.27 - * have any questions.
  325.28 - */
  325.29 -
  325.30 -package sun.nio.cs.ext;
  325.31 -
  325.32 -
  325.33 -import java.nio.charset.Charset;
  325.34 -import java.nio.charset.CharsetDecoder;
  325.35 -import java.nio.charset.CharsetEncoder;
  325.36 -import sun.nio.cs.StandardCharsets;
  325.37 -import sun.nio.cs.SingleByteDecoder;
  325.38 -import sun.nio.cs.SingleByteEncoder;
  325.39 -import sun.nio.cs.HistoricallyNamedCharset;
  325.40 -
  325.41 -public class MacCyrillic
  325.42 -    extends Charset
  325.43 -    implements HistoricallyNamedCharset
  325.44 -{
  325.45 -
  325.46 -    public MacCyrillic() {
  325.47 -        super("x-MacCyrillic", ExtendedCharsets.aliasesFor("x-MacCyrillic"));
  325.48 -    }
  325.49 -
  325.50 -    public String historicalName() {
  325.51 -        return "MacCyrillic";
  325.52 -    }
  325.53 -
  325.54 -    public boolean contains(Charset cs) {
  325.55 -        return (cs instanceof MacCyrillic);
  325.56 -    }
  325.57 -
  325.58 -    public CharsetDecoder newDecoder() {
  325.59 -        return new Decoder(this);
  325.60 -    }
  325.61 -
  325.62 -    public CharsetEncoder newEncoder() {
  325.63 -        return new Encoder(this);
  325.64 -    }
  325.65 -
  325.66 -
  325.67 -    /**
  325.68 -     * These accessors are temporarily supplied while sun.io
  325.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  325.70 -     * These facilitate sharing of conversion tables between the
  325.71 -     * two co-existing implementations. When sun.io converters
  325.72 -     * are made extinct these will be unncessary and should be removed
  325.73 -     */
  325.74 -
  325.75 -    public String getDecoderSingleByteMappings() {
  325.76 -        return Decoder.byteToCharTable;
  325.77 -
  325.78 -    }
  325.79 -
  325.80 -    public short[] getEncoderIndex1() {
  325.81 -        return Encoder.index1;
  325.82 -
  325.83 -    }
  325.84 -    public String getEncoderIndex2() {
  325.85 -        return Encoder.index2;
  325.86 -
  325.87 -    }
  325.88 -
  325.89 -    private static class Decoder extends SingleByteDecoder {
  325.90 -            public Decoder(Charset cs) {
  325.91 -                super(cs, byteToCharTable);
  325.92 -        }
  325.93 -
  325.94 -        private final static String byteToCharTable =
  325.95 -
  325.96 -            "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417" +        // 0x80 - 0x87
  325.97 -            "\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F" +        // 0x88 - 0x8F
  325.98 -            "\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427" +        // 0x90 - 0x97
  325.99 -            "\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F" +        // 0x98 - 0x9F
 325.100 -            "\u2020\u00B0\u00A2\u00A3\u00A7\u2022\u00B6\u0406" +        // 0xA0 - 0xA7
 325.101 -            "\u00AE\u00A9\u2122\u0402\u0452\u2260\u0403\u0453" +        // 0xA8 - 0xAF
 325.102 -            "\u221E\u00B1\u2264\u2265\u0456\u00B5\u2202\u0408" +        // 0xB0 - 0xB7
 325.103 -            "\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A" +        // 0xB8 - 0xBF
 325.104 -            "\u0458\u0405\u00AC\u221A\u0192\u2248\u2206\u00AB" +        // 0xC0 - 0xC7
 325.105 -            "\u00BB\u2026\u00A0\u040B\u045B\u040C\u045C\u0455" +        // 0xC8 - 0xCF
 325.106 -            "\u2013\u2014\u201C\u201D\u2018\u2019\u00F7\u201E" +        // 0xD0 - 0xD7
 325.107 -            "\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F" +        // 0xD8 - 0xDF
 325.108 -            "\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437" +        // 0xE0 - 0xE7
 325.109 -            "\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F" +        // 0xE8 - 0xEF
 325.110 -            "\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447" +        // 0xF0 - 0xF7
 325.111 -            "\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u00A4" +        // 0xF8 - 0xFF
 325.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 325.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 325.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 325.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 325.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 325.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 325.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 325.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 325.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 325.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 325.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 325.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 325.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 325.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 325.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 325.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 325.128 -
 325.129 -    }
 325.130 -
 325.131 -    private static class Encoder extends SingleByteEncoder {
 325.132 -            public Encoder(Charset cs) {
 325.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 325.134 -            }
 325.135 -
 325.136 -            private final static String index2 =
 325.137 -
 325.138 -
 325.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 325.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 325.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 325.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 325.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 325.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 325.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 325.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 325.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 325.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 325.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 325.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 325.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 325.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 325.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 325.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 325.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.159 -            "\u00CA\u0000\u00A2\u00A3\u00FF\u0000\u0000\u00A4" +
 325.160 -            "\u0000\u00A9\u0000\u00C7\u00C2\u0000\u00A8\u0000" +
 325.161 -            "\u00A1\u00B1\u0000\u0000\u0000\u00B5\u00A6\u0000" +
 325.162 -            "\u0000\u0000\u0000\u00C8\u0000\u0000\u0000\u0000" +
 325.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00D6" +
 325.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.188 -            "\u0000\u0000\u00C4\u0000\u0000\u0000\u0000\u0000" +
 325.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.220 -            "\u0000\u0000\u0000\u00DD\u00AB\u00AE\u00B8\u00C1" +
 325.221 -            "\u00A7\u00BA\u00B7\u00BC\u00BE\u00CB\u00CD\u0000" +
 325.222 -            "\u00D8\u00DA\u0080\u0081\u0082\u0083\u0084\u0085" +
 325.223 -            "\u0086\u0087\u0088\u0089\u008A\u008B\u008C\u008D" +
 325.224 -            "\u008E\u008F\u0090\u0091\u0092\u0093\u0094\u0095" +
 325.225 -            "\u0096\u0097\u0098\u0099\u009A\u009B\u009C\u009D" +
 325.226 -            "\u009E\u009F\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5" +
 325.227 -            "\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED" +
 325.228 -            "\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5" +
 325.229 -            "\u00F6\u00F7\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD" +
 325.230 -            "\u00FE\u00DF\u0000\u00DE\u00AC\u00AF\u00B9\u00CF" +
 325.231 -            "\u00B4\u00BB\u00C0\u00BD\u00BF\u00CC\u00CE\u0000" +
 325.232 -            "\u00D9\u00DB\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.252 -            "\u0000\u0000\u00D0\u00D1\u0000\u0000\u0000\u00D4" +
 325.253 -            "\u00D5\u0000\u0000\u00D2\u00D3\u00D7\u0000\u00A0" +
 325.254 -            "\u0000\u00A5\u0000\u0000\u0000\u00C9\u0000\u0000" +
 325.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DC" +
 325.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.283 -            "\u0000\u0000\u0000\u00AA\u0000\u0000\u0000\u0000" +
 325.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.286 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.307 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.308 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.309 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.310 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.311 -            "\u0000\u00B6\u0000\u0000\u0000\u00C6\u0000\u0000" +
 325.312 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.313 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.314 -            "\u0000\u00C3\u0000\u0000\u0000\u00B0\u0000\u0000" +
 325.315 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.316 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.317 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.318 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.319 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C5" +
 325.320 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.321 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.322 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00AD" +
 325.323 -            "\u0000\u0000\u0000\u00B2\u00B3\u0000\u0000\u0000" +
 325.324 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.325 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.326 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.327 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.328 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.329 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.330 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.331 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.332 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.333 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.334 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.335 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.336 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.337 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.338 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.339 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.340 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.341 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 325.342 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 325.343 -
 325.344 -    private final static short index1[] = {
 325.345 -            0, 248, 395, 395, 650, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 325.346 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 325.347 -            887, 1121, 1375, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 325.348 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 325.349 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 325.350 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 325.351 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 325.352 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 325.353 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 325.354 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 325.355 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 325.356 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 325.357 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 325.358 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 325.359 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 325.360 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 325.361 -
 325.362 -        };
 325.363 -    }
 325.364 -}
   326.1 --- a/src/share/classes/sun/nio/cs/ext/MacDingbat.java	Wed Jan 14 21:35:03 2009 -0800
   326.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   326.3 @@ -1,316 +0,0 @@
   326.4 -
   326.5 -/*
   326.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   326.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   326.8 - *
   326.9 - * This code is free software; you can redistribute it and/or modify it
  326.10 - * under the terms of the GNU General Public License version 2 only, as
  326.11 - * published by the Free Software Foundation.  Sun designates this
  326.12 - * particular file as subject to the "Classpath" exception as provided
  326.13 - * by Sun in the LICENSE file that accompanied this code.
  326.14 - *
  326.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  326.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  326.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  326.18 - * version 2 for more details (a copy is included in the LICENSE file that
  326.19 - * accompanied this code).
  326.20 - *
  326.21 - * You should have received a copy of the GNU General Public License version
  326.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  326.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  326.24 - *
  326.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  326.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  326.27 - * have any questions.
  326.28 - */
  326.29 -
  326.30 -package sun.nio.cs.ext;
  326.31 -
  326.32 -
  326.33 -import java.nio.charset.Charset;
  326.34 -import java.nio.charset.CharsetDecoder;
  326.35 -import java.nio.charset.CharsetEncoder;
  326.36 -import sun.nio.cs.StandardCharsets;
  326.37 -import sun.nio.cs.SingleByteDecoder;
  326.38 -import sun.nio.cs.SingleByteEncoder;
  326.39 -import sun.nio.cs.HistoricallyNamedCharset;
  326.40 -
  326.41 -public class MacDingbat
  326.42 -    extends Charset
  326.43 -    implements HistoricallyNamedCharset
  326.44 -{
  326.45 -
  326.46 -    public MacDingbat() {
  326.47 -        super("x-MacDingbat", ExtendedCharsets.aliasesFor("x-MacDingbat"));
  326.48 -    }
  326.49 -
  326.50 -    public String historicalName() {
  326.51 -        return "MacDingbat";
  326.52 -    }
  326.53 -
  326.54 -    public boolean contains(Charset cs) {
  326.55 -        return (cs instanceof MacDingbat);
  326.56 -    }
  326.57 -
  326.58 -    public CharsetDecoder newDecoder() {
  326.59 -        return new Decoder(this);
  326.60 -    }
  326.61 -
  326.62 -    public CharsetEncoder newEncoder() {
  326.63 -        return new Encoder(this);
  326.64 -    }
  326.65 -
  326.66 -
  326.67 -    /**
  326.68 -     * These accessors are temporarily supplied while sun.io
  326.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  326.70 -     * These facilitate sharing of conversion tables between the
  326.71 -     * two co-existing implementations. When sun.io converters
  326.72 -     * are made extinct these will be unncessary and should be removed
  326.73 -     */
  326.74 -
  326.75 -    public String getDecoderSingleByteMappings() {
  326.76 -        return Decoder.byteToCharTable;
  326.77 -
  326.78 -    }
  326.79 -
  326.80 -    public short[] getEncoderIndex1() {
  326.81 -        return Encoder.index1;
  326.82 -
  326.83 -    }
  326.84 -    public String getEncoderIndex2() {
  326.85 -        return Encoder.index2;
  326.86 -
  326.87 -    }
  326.88 -
  326.89 -    private static class Decoder extends SingleByteDecoder {
  326.90 -            public Decoder(Charset cs) {
  326.91 -                super(cs, byteToCharTable);
  326.92 -        }
  326.93 -
  326.94 -        private final static String byteToCharTable =
  326.95 -
  326.96 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x80 - 0x87
  326.97 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x88 - 0x8F
  326.98 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x90 - 0x97
  326.99 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x98 - 0x9F
 326.100 -            "\uFFFD\u2761\u2762\u2763\u2764\u2765\u2766\u2767" +        // 0xA0 - 0xA7
 326.101 -            "\u2663\u2666\u2665\u2660\u2460\u2461\u2462\u2463" +        // 0xA8 - 0xAF
 326.102 -            "\u2464\u2465\u2466\u2467\u2468\u2469\u2776\u2777" +        // 0xB0 - 0xB7
 326.103 -            "\u2778\u2779\u277A\u277B\u277C\u277D\u277E\u277F" +        // 0xB8 - 0xBF
 326.104 -            "\u2780\u2781\u2782\u2783\u2784\u2785\u2786\u2787" +        // 0xC0 - 0xC7
 326.105 -            "\u2788\u2789\u278A\u278B\u278C\u278D\u278E\u278F" +        // 0xC8 - 0xCF
 326.106 -            "\u2790\u2791\u2792\u2793\u2794\u2192\u2194\u2195" +        // 0xD0 - 0xD7
 326.107 -            "\u2798\u2799\u279A\u279B\u279C\u279D\u279E\u279F" +        // 0xD8 - 0xDF
 326.108 -            "\u27A0\u27A1\u27A2\u27A3\u27A4\u27A5\u27A6\u27A7" +        // 0xE0 - 0xE7
 326.109 -            "\u27A8\u27A9\u27AA\u27AB\u27AC\u27AD\u27AE\u27AF" +        // 0xE8 - 0xEF
 326.110 -            "\uFFFD\u27B1\u27B2\u27B3\u27B4\u27B5\u27B6\u27B7" +        // 0xF0 - 0xF7
 326.111 -            "\u27B8\u27B9\u27BA\u27BB\u27BC\u27BD\u27BE\uFFFD" +        // 0xF8 - 0xFF
 326.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 326.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 326.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 326.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 326.116 -            "\u0020\u2701\u2702\u2703\u2704\u260E\u2706\u2707" +        // 0x20 - 0x27
 326.117 -            "\u2708\u2709\u261B\u261E\u270C\u270D\u270E\u270F" +        // 0x28 - 0x2F
 326.118 -            "\u2710\u2711\u2712\u2713\u2714\u2715\u2716\u2717" +        // 0x30 - 0x37
 326.119 -            "\u2718\u2719\u271A\u271B\u271C\u271D\u271E\u271F" +        // 0x38 - 0x3F
 326.120 -            "\u2720\u2721\u2722\u2723\u2724\u2725\u2726\u2727" +        // 0x40 - 0x47
 326.121 -            "\u2605\u2729\u272A\u272B\u272C\u272D\u272E\u272F" +        // 0x48 - 0x4F
 326.122 -            "\u2730\u2731\u2732\u2733\u2734\u2735\u2736\u2737" +        // 0x50 - 0x57
 326.123 -            "\u2738\u2739\u273A\u273B\u273C\u273D\u273E\u273F" +        // 0x58 - 0x5F
 326.124 -            "\u2740\u2741\u2742\u2743\u2744\u2745\u2746\u2747" +        // 0x60 - 0x67
 326.125 -            "\u2748\u2749\u274A\u274B\u25CF\u274D\u25A0\u274F" +        // 0x68 - 0x6F
 326.126 -            "\u2750\u2751\u2752\u25B2\u25BC\u25C6\u2756\u25D7" +        // 0x70 - 0x77
 326.127 -            "\u2758\u2759\u275A\u275B\u275C\u275D\u275E\u007F";         // 0x78 - 0x7F
 326.128 -
 326.129 -    }
 326.130 -
 326.131 -    private static class Encoder extends SingleByteEncoder {
 326.132 -            public Encoder(Charset cs) {
 326.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 326.134 -            }
 326.135 -
 326.136 -            private final static String index2 =
 326.137 -
 326.138 -
 326.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 326.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 326.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 326.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 326.143 -            "\u0020\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.144 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.145 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.146 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.147 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.148 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.149 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.150 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.151 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.152 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.153 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.154 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u007F" +
 326.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.160 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.162 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.187 -            "\u00D5\u0000\u00D6\u00D7\u0000\u0000\u0000\u0000" +
 326.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00AC\u00AD" +
 326.201 -            "\u00AE\u00AF\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5" +
 326.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.222 -            "\u006E\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.224 -            "\u0000\u0000\u0073\u0000\u0000\u0000\u0000\u0000" +
 326.225 -            "\u0000\u0000\u0000\u0000\u0074\u0000\u0000\u0000" +
 326.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0075\u0000" +
 326.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u006C" +
 326.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0077" +
 326.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.234 -            "\u0048\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.235 -            "\u0000\u0025\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u002A\u0000" +
 326.237 -            "\u0000\u002B\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.245 -            "\u0000\u0000\u0000\u00AB\u0000\u0000\u00A8\u0000" +
 326.246 -            "\u00AA\u00A9\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.265 -            "\u0000\u0000\u0000\u0021\"\u0023\u0024\u0000" +
 326.266 -            "\u0026\'\u0028\u0029\u0000\u0000\u002C\u002D" +
 326.267 -            "\u002E\u002F\u0030\u0031\u0032\u0033\u0034\u0035" +
 326.268 -            "\u0036\u0037\u0038\u0039\u003A\u003B\u003C\u003D" +
 326.269 -            "\u003E\u003F\u0040\u0041\u0042\u0043\u0044\u0045" +
 326.270 -            "\u0046\u0047\u0000\u0049\u004A\u004B\u004C\u004D" +
 326.271 -            "\u004E\u004F\u0050\u0051\u0052\u0053\u0054\u0055" +
 326.272 -            "\u0056\u0057\u0058\u0059\u005A\u005B\\\u005D" +
 326.273 -            "\u005E\u005F\u0060\u0061\u0062\u0063\u0064\u0065" +
 326.274 -            "\u0066\u0067\u0068\u0069\u006A\u006B\u0000\u006D" +
 326.275 -            "\u0000\u006F\u0070\u0071\u0072\u0000\u0000\u0000" +
 326.276 -            "\u0076\u0000\u0078\u0079\u007A\u007B\u007C\u007D" +
 326.277 -            "\u007E\u0000\u0000\u00A1\u00A2\u00A3\u00A4\u00A5" +
 326.278 -            "\u00A6\u00A7\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.280 -            "\u00B6\u00B7\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD" +
 326.281 -            "\u00BE\u00BF\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5" +
 326.282 -            "\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD" +
 326.283 -            "\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3\u00D4\u0000" +
 326.284 -            "\u0000\u0000\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD" +
 326.285 -            "\u00DE\u00DF\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5" +
 326.286 -            "\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED" +
 326.287 -            "\u00EE\u00EF\u0000\u00F1\u00F2\u00F3\u00F4\u00F5" +
 326.288 -            "\u00F6\u00F7\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD" +
 326.289 -            "\u00FE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 326.297 -            "\u0000\u0000";
 326.298 -
 326.299 -    private final static short index1[] = {
 326.300 -            0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
 326.301 -            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
 326.302 -            128, 238, 128, 128, 398, 504, 755, 1010, 128, 128, 128, 128, 128, 128, 128, 128,
 326.303 -            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
 326.304 -            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
 326.305 -            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
 326.306 -            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
 326.307 -            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
 326.308 -            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
 326.309 -            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
 326.310 -            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
 326.311 -            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
 326.312 -            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
 326.313 -            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
 326.314 -            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
 326.315 -            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
 326.316 -
 326.317 -        };
 326.318 -    }
 326.319 -}
   327.1 --- a/src/share/classes/sun/nio/cs/ext/MacGreek.java	Wed Jan 14 21:35:03 2009 -0800
   327.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   327.3 @@ -1,327 +0,0 @@
   327.4 -
   327.5 -/*
   327.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   327.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   327.8 - *
   327.9 - * This code is free software; you can redistribute it and/or modify it
  327.10 - * under the terms of the GNU General Public License version 2 only, as
  327.11 - * published by the Free Software Foundation.  Sun designates this
  327.12 - * particular file as subject to the "Classpath" exception as provided
  327.13 - * by Sun in the LICENSE file that accompanied this code.
  327.14 - *
  327.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  327.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  327.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  327.18 - * version 2 for more details (a copy is included in the LICENSE file that
  327.19 - * accompanied this code).
  327.20 - *
  327.21 - * You should have received a copy of the GNU General Public License version
  327.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  327.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  327.24 - *
  327.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  327.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  327.27 - * have any questions.
  327.28 - */
  327.29 -
  327.30 -package sun.nio.cs.ext;
  327.31 -
  327.32 -
  327.33 -import java.nio.charset.Charset;
  327.34 -import java.nio.charset.CharsetDecoder;
  327.35 -import java.nio.charset.CharsetEncoder;
  327.36 -import sun.nio.cs.StandardCharsets;
  327.37 -import sun.nio.cs.SingleByteDecoder;
  327.38 -import sun.nio.cs.SingleByteEncoder;
  327.39 -import sun.nio.cs.HistoricallyNamedCharset;
  327.40 -
  327.41 -public class MacGreek
  327.42 -    extends Charset
  327.43 -    implements HistoricallyNamedCharset
  327.44 -{
  327.45 -
  327.46 -    public MacGreek() {
  327.47 -        super("x-MacGreek", ExtendedCharsets.aliasesFor("x-MacGreek"));
  327.48 -    }
  327.49 -
  327.50 -    public String historicalName() {
  327.51 -        return "MacGreek";
  327.52 -    }
  327.53 -
  327.54 -    public boolean contains(Charset cs) {
  327.55 -        return (cs instanceof MacGreek);
  327.56 -    }
  327.57 -
  327.58 -    public CharsetDecoder newDecoder() {
  327.59 -        return new Decoder(this);
  327.60 -    }
  327.61 -
  327.62 -    public CharsetEncoder newEncoder() {
  327.63 -        return new Encoder(this);
  327.64 -    }
  327.65 -
  327.66 -
  327.67 -    /**
  327.68 -     * These accessors are temporarily supplied while sun.io
  327.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  327.70 -     * These facilitate sharing of conversion tables between the
  327.71 -     * two co-existing implementations. When sun.io converters
  327.72 -     * are made extinct these will be unncessary and should be removed
  327.73 -     */
  327.74 -
  327.75 -    public String getDecoderSingleByteMappings() {
  327.76 -        return Decoder.byteToCharTable;
  327.77 -
  327.78 -    }
  327.79 -
  327.80 -    public short[] getEncoderIndex1() {
  327.81 -        return Encoder.index1;
  327.82 -
  327.83 -    }
  327.84 -    public String getEncoderIndex2() {
  327.85 -        return Encoder.index2;
  327.86 -
  327.87 -    }
  327.88 -
  327.89 -    private static class Decoder extends SingleByteDecoder {
  327.90 -            public Decoder(Charset cs) {
  327.91 -                super(cs, byteToCharTable);
  327.92 -        }
  327.93 -
  327.94 -        private final static String byteToCharTable =
  327.95 -
  327.96 -            "\u00C4\u00B9\u00B2\u00C9\u00B3\u00D6\u00DC\u0385" +        // 0x80 - 0x87
  327.97 -            "\u00E0\u00E2\u00E4\u0384\u00A8\u00E7\u00E9\u00E8" +        // 0x88 - 0x8F
  327.98 -            "\u00EA\u00EB\u00A3\u2122\u00EE\u00EF\u2022\u00BD" +        // 0x90 - 0x97
  327.99 -            "\u2030\u00F4\u00F6\u00A6\u00AD\u00F9\u00FB\u00FC" +        // 0x98 - 0x9F
 327.100 -            "\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\u00DF" +        // 0xA0 - 0xA7
 327.101 -            "\u00AE\u00A9\u03A3\u03AA\u00A7\u2260\u00B0\u0387" +        // 0xA8 - 0xAF
 327.102 -            "\u0391\u00B1\u2264\u2265\u00A5\u0392\u0395\u0396" +        // 0xB0 - 0xB7
 327.103 -            "\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9" +        // 0xB8 - 0xBF
 327.104 -            "\u03AC\u039D\u00AC\u039F\u03A1\u2248\u03A4\u00AB" +        // 0xC0 - 0xC7
 327.105 -            "\u00BB\u2026\u00A0\u03A5\u03A7\u0386\u0388\u0153" +        // 0xC8 - 0xCF
 327.106 -            "\u2013\u2015\u201C\u201D\u2018\u2019\u00F7\u0389" +        // 0xD0 - 0xD7
 327.107 -            "\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F" +        // 0xD8 - 0xDF
 327.108 -            "\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3" +        // 0xE0 - 0xE7
 327.109 -            "\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF" +        // 0xE8 - 0xEF
 327.110 -            "\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2" +        // 0xF0 - 0xF7
 327.111 -            "\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\uFFFD" +        // 0xF8 - 0xFF
 327.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 327.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 327.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 327.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 327.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 327.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 327.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 327.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 327.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 327.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 327.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 327.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 327.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 327.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 327.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 327.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 327.128 -
 327.129 -    }
 327.130 -
 327.131 -    private static class Encoder extends SingleByteEncoder {
 327.132 -            public Encoder(Charset cs) {
 327.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 327.134 -            }
 327.135 -
 327.136 -            private final static String index2 =
 327.137 -
 327.138 -
 327.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 327.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 327.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 327.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 327.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 327.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 327.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 327.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 327.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 327.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 327.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 327.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 327.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 327.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 327.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 327.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 327.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.159 -            "\u00CA\u0000\u0000\u0092\u0000\u00B4\u009B\u00AC" +
 327.160 -            "\u008C\u00A9\u0000\u00C7\u00C2\u009C\u00A8\u0000" +
 327.161 -            "\u00AE\u00B1\u0082\u0084\u0000\u0000\u0000\u0000" +
 327.162 -            "\u0000\u0081\u0000\u00C8\u0000\u0097\u0000\u0000" +
 327.163 -            "\u0000\u0000\u0000\u0000\u0080\u0000\u0000\u0000" +
 327.164 -            "\u0000\u0083\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0085\u0000" +
 327.166 -            "\u0000\u0000\u0000\u0000\u0086\u0000\u0000\u00A7" +
 327.167 -            "\u0088\u0000\u0089\u0000\u008A\u0000\u0000\u008D" +
 327.168 -            "\u008F\u008E\u0090\u0091\u0000\u0000\u0094\u0095" +
 327.169 -            "\u0000\u0000\u0000\u0000\u0099\u0000\u009A\u00D6" +
 327.170 -            "\u0000\u009D\u0000\u009E\u009F\u0000\u0000\u0000" +
 327.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.181 -            "\u00CF\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.213 -            "\u0000\u008B\u0087\u00CD\u00AF\u00CE\u00D7\u00D8" +
 327.214 -            "\u0000\u00D9\u0000\u00DA\u00DF\u00FD\u00B0\u00B5" +
 327.215 -            "\u00A1\u00A2\u00B6\u00B7\u00B8\u00A3\u00B9\u00BA" +
 327.216 -            "\u00A4\u00BB\u00C1\u00A5\u00C3\u00A6\u00C4\u0000" +
 327.217 -            "\u00AA\u00C6\u00CB\u00BC\u00CC\u00BE\u00BF\u00AB" +
 327.218 -            "\u00BD\u00C0\u00DB\u00DC\u00DD\u00FE\u00E1\u00E2" +
 327.219 -            "\u00E7\u00E4\u00E5\u00FA\u00E8\u00F5\u00E9\u00EB" +
 327.220 -            "\u00EC\u00ED\u00EE\u00EA\u00EF\u00F0\u00F2\u00F7" +
 327.221 -            "\u00F3\u00F4\u00F9\u00E6\u00F8\u00E3\u00F6\u00FB" +
 327.222 -            "\u00FC\u00DE\u00E0\u00F1\u0000\u0000\u0000\u0000" +
 327.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.228 -            "\u0000\u0000\u0000\u0000\u0000\u00D0\u0000\u00D1" +
 327.229 -            "\u0000\u0000\u00D4\u00D5\u0000\u0000\u00D2\u00D3" +
 327.230 -            "\u0000\u0000\u00A0\u0000\u0096\u0000\u0000\u0000" +
 327.231 -            "\u00C9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.232 -            "\u0000\u0000\u0098\u0000\u0000\u0000\u0000\u0000" +
 327.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.258 -            "\u0000\u0000\u0093\u0000\u0000\u0000\u0000\u0000" +
 327.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.286 -            "\u00C5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.289 -            "\u00AD\u0000\u0000\u0000\u00B2\u00B3\u0000\u0000" +
 327.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.307 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 327.308 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 327.309 -
 327.310 -    private final static short index1[] = {
 327.311 -            0, 253, 337, 461, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 327.312 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 327.313 -            698, 920, 1104, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 327.314 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 327.315 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 327.316 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 327.317 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 327.318 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 327.319 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 327.320 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 327.321 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 327.322 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 327.323 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 327.324 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 327.325 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 327.326 -            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
 327.327 -
 327.328 -        };
 327.329 -    }
 327.330 -}
   328.1 --- a/src/share/classes/sun/nio/cs/ext/MacHebrew.java	Wed Jan 14 21:35:03 2009 -0800
   328.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   328.3 @@ -1,289 +0,0 @@
   328.4 -
   328.5 -/*
   328.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   328.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   328.8 - *
   328.9 - * This code is free software; you can redistribute it and/or modify it
  328.10 - * under the terms of the GNU General Public License version 2 only, as
  328.11 - * published by the Free Software Foundation.  Sun designates this
  328.12 - * particular file as subject to the "Classpath" exception as provided
  328.13 - * by Sun in the LICENSE file that accompanied this code.
  328.14 - *
  328.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  328.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  328.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  328.18 - * version 2 for more details (a copy is included in the LICENSE file that
  328.19 - * accompanied this code).
  328.20 - *
  328.21 - * You should have received a copy of the GNU General Public License version
  328.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  328.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  328.24 - *
  328.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  328.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  328.27 - * have any questions.
  328.28 - */
  328.29 -
  328.30 -package sun.nio.cs.ext;
  328.31 -
  328.32 -
  328.33 -import java.nio.charset.Charset;
  328.34 -import java.nio.charset.CharsetDecoder;
  328.35 -import java.nio.charset.CharsetEncoder;
  328.36 -import sun.nio.cs.StandardCharsets;
  328.37 -import sun.nio.cs.SingleByteDecoder;
  328.38 -import sun.nio.cs.SingleByteEncoder;
  328.39 -import sun.nio.cs.HistoricallyNamedCharset;
  328.40 -
  328.41 -public class MacHebrew
  328.42 -    extends Charset
  328.43 -    implements HistoricallyNamedCharset
  328.44 -{
  328.45 -
  328.46 -    public MacHebrew() {
  328.47 -        super("x-MacHebrew", ExtendedCharsets.aliasesFor("x-MacHebrew"));
  328.48 -    }
  328.49 -
  328.50 -    public String historicalName() {
  328.51 -        return "MacHebrew";
  328.52 -    }
  328.53 -
  328.54 -    public boolean contains(Charset cs) {
  328.55 -        return (cs instanceof MacHebrew);
  328.56 -    }
  328.57 -
  328.58 -    public CharsetDecoder newDecoder() {
  328.59 -        return new Decoder(this);
  328.60 -    }
  328.61 -
  328.62 -    public CharsetEncoder newEncoder() {
  328.63 -        return new Encoder(this);
  328.64 -    }
  328.65 -
  328.66 -
  328.67 -    /**
  328.68 -     * These accessors are temporarily supplied while sun.io
  328.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  328.70 -     * These facilitate sharing of conversion tables between the
  328.71 -     * two co-existing implementations. When sun.io converters
  328.72 -     * are made extinct these will be unncessary and should be removed
  328.73 -     */
  328.74 -
  328.75 -    public String getDecoderSingleByteMappings() {
  328.76 -        return Decoder.byteToCharTable;
  328.77 -
  328.78 -    }
  328.79 -
  328.80 -    public short[] getEncoderIndex1() {
  328.81 -        return Encoder.index1;
  328.82 -
  328.83 -    }
  328.84 -    public String getEncoderIndex2() {
  328.85 -        return Encoder.index2;
  328.86 -
  328.87 -    }
  328.88 -
  328.89 -    private static class Decoder extends SingleByteDecoder {
  328.90 -            public Decoder(Charset cs) {
  328.91 -                super(cs, byteToCharTable);
  328.92 -        }
  328.93 -
  328.94 -        private final static String byteToCharTable =
  328.95 -
  328.96 -            "\u00C4\uFB1F\u00C7\u00C9\u00D1\u00D6\u00DC\u00E1" +        // 0x80 - 0x87
  328.97 -            "\u00E0\u00E2\u00E4\u00E3\u00E5\u00E7\u00E9\u00E8" +        // 0x88 - 0x8F
  328.98 -            "\u00EA\u00EB\u00ED\u00EC\u00EE\u00EF\u00F1\u00F3" +        // 0x90 - 0x97
  328.99 -            "\u00F2\u00F4\u00F6\u00F5\u00FA\u00F9\u00FB\u00FC" +        // 0x98 - 0x9F
 328.100 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u20AA\uFFFD" +        // 0xA0 - 0xA7
 328.101 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0xA8 - 0xAF
 328.102 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0xB0 - 0xB7
 328.103 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0xB8 - 0xBF
 328.104 -            "\uFFFD\u201E\uFFFD\uFFFD\uFFFD\uFFFD\u05BC\uFB4B" +        // 0xC0 - 0xC7
 328.105 -            "\uFB35\u2026\u00A0\u05B8\u05B7\u05B5\u05B6\u05B4" +        // 0xC8 - 0xCF
 328.106 -            "\u2013\u2014\u201C\u201D\u2018\u2019\uFB2A\uFB2B" +        // 0xD0 - 0xD7
 328.107 -            "\u05BF\u05B0\u05B2\u05B1\u05BB\u05B9\uFFFD\u05B3" +        // 0xD8 - 0xDF
 328.108 -            "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7" +        // 0xE0 - 0xE7
 328.109 -            "\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF" +        // 0xE8 - 0xEF
 328.110 -            "\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7" +        // 0xF0 - 0xF7
 328.111 -            "\u05E8\u05E9\u05EA\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0xF8 - 0xFF
 328.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 328.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 328.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 328.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 328.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 328.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 328.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 328.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 328.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 328.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 328.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 328.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 328.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 328.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 328.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 328.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 328.128 -
 328.129 -    }
 328.130 -
 328.131 -    private static class Encoder extends SingleByteEncoder {
 328.132 -            public Encoder(Charset cs) {
 328.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 328.134 -            }
 328.135 -
 328.136 -            private final static String index2 =
 328.137 -
 328.138 -
 328.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 328.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 328.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 328.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 328.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 328.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 328.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 328.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 328.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 328.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 328.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 328.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 328.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 328.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 328.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 328.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 328.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.159 -            "\u00CA\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.160 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.162 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.163 -            "\u0000\u0000\u0000\u0000\u0080\u0000\u0000\u0082" +
 328.164 -            "\u0000\u0083\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.165 -            "\u0000\u0084\u0000\u0000\u0000\u0000\u0085\u0000" +
 328.166 -            "\u0000\u0000\u0000\u0000\u0086\u0000\u0000\u0000" +
 328.167 -            "\u0088\u0087\u0089\u008B\u008A\u008C\u0000\u008D" +
 328.168 -            "\u008F\u008E\u0090\u0091\u0093\u0092\u0094\u0095" +
 328.169 -            "\u0000\u0096\u0098\u0097\u0099\u009B\u009A\u0000" +
 328.170 -            "\u0000\u009D\u009C\u009E\u009F\u0000\u0000\u0000" +
 328.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.202 -            "\u0000\u0000\u0000\u0000\u0000\u00D9\u00DB\u00DA" +
 328.203 -            "\u00DF\u00CF\u00CD\u00CE\u00CC\u00CB\u00DD\u0000" +
 328.204 -            "\u00DC\u00C6\u0000\u0000\u00D8\u0000\u0000\u0000" +
 328.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.206 -            "\u0000\u0000\u0000\u0000\u0000\u00E0\u00E1\u00E2" +
 328.207 -            "\u00E3\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA" +
 328.208 -            "\u00EB\u00EC\u00ED\u00EE\u00EF\u00F0\u00F1\u00F2" +
 328.209 -            "\u00F3\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA" +
 328.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.212 -            "\u0000\u0000\u0000\u0000\u0000\u00D0\u00D1\u0000" +
 328.213 -            "\u0000\u0000\u00D4\u00D5\u0000\u0000\u00D2\u00D3" +
 328.214 -            "\u00C1\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.215 -            "\u00C9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.231 -            "\u0000\u0000\u0000\u0000\u00A6\u0000\u0000\u0000" +
 328.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.242 -            "\u0000\u0000\u0081\u0000\u0000\u0000\u0000\u0000" +
 328.243 -            "\u0000\u0000\u0000\u0000\u0000\u00D6\u00D7\u0000" +
 328.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.245 -            "\u00C8\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00C7\u0000" +
 328.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 328.270 -            "\u0000\u0000\u0000";
 328.271 -
 328.272 -    private final static short index1[] = {
 328.273 -            0, 253, 253, 253, 253, 333, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 328.274 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 328.275 -            570, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 328.276 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 328.277 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 328.278 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 328.279 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 328.280 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 328.281 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 328.282 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 328.283 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 328.284 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 328.285 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 328.286 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 328.287 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
 328.288 -            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 795, 253, 253, 253, 253,
 328.289 -
 328.290 -        };
 328.291 -    }
 328.292 -}
   329.1 --- a/src/share/classes/sun/nio/cs/ext/MacIceland.java	Wed Jan 14 21:35:03 2009 -0800
   329.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   329.3 @@ -1,402 +0,0 @@
   329.4 -
   329.5 -/*
   329.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   329.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   329.8 - *
   329.9 - * This code is free software; you can redistribute it and/or modify it
  329.10 - * under the terms of the GNU General Public License version 2 only, as
  329.11 - * published by the Free Software Foundation.  Sun designates this
  329.12 - * particular file as subject to the "Classpath" exception as provided
  329.13 - * by Sun in the LICENSE file that accompanied this code.
  329.14 - *
  329.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  329.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  329.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  329.18 - * version 2 for more details (a copy is included in the LICENSE file that
  329.19 - * accompanied this code).
  329.20 - *
  329.21 - * You should have received a copy of the GNU General Public License version
  329.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  329.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  329.24 - *
  329.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  329.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  329.27 - * have any questions.
  329.28 - */
  329.29 -
  329.30 -package sun.nio.cs.ext;
  329.31 -
  329.32 -
  329.33 -import java.nio.charset.Charset;
  329.34 -import java.nio.charset.CharsetDecoder;
  329.35 -import java.nio.charset.CharsetEncoder;
  329.36 -import sun.nio.cs.StandardCharsets;
  329.37 -import sun.nio.cs.SingleByteDecoder;
  329.38 -import sun.nio.cs.SingleByteEncoder;
  329.39 -import sun.nio.cs.HistoricallyNamedCharset;
  329.40 -
  329.41 -public class MacIceland
  329.42 -    extends Charset
  329.43 -    implements HistoricallyNamedCharset
  329.44 -{
  329.45 -
  329.46 -    public MacIceland() {
  329.47 -        super("x-MacIceland", ExtendedCharsets.aliasesFor("x-MacIceland"));
  329.48 -    }
  329.49 -
  329.50 -    public String historicalName() {
  329.51 -        return "MacIceland";
  329.52 -    }
  329.53 -
  329.54 -    public boolean contains(Charset cs) {
  329.55 -        return (cs instanceof MacIceland);
  329.56 -    }
  329.57 -
  329.58 -    public CharsetDecoder newDecoder() {
  329.59 -        return new Decoder(this);
  329.60 -    }
  329.61 -
  329.62 -    public CharsetEncoder newEncoder() {
  329.63 -        return new Encoder(this);
  329.64 -    }
  329.65 -
  329.66 -
  329.67 -    /**
  329.68 -     * These accessors are temporarily supplied while sun.io
  329.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  329.70 -     * These facilitate sharing of conversion tables between the
  329.71 -     * two co-existing implementations. When sun.io converters
  329.72 -     * are made extinct these will be unncessary and should be removed
  329.73 -     */
  329.74 -
  329.75 -    public String getDecoderSingleByteMappings() {
  329.76 -        return Decoder.byteToCharTable;
  329.77 -
  329.78 -    }
  329.79 -
  329.80 -    public short[] getEncoderIndex1() {
  329.81 -        return Encoder.index1;
  329.82 -
  329.83 -    }
  329.84 -    public String getEncoderIndex2() {
  329.85 -        return Encoder.index2;
  329.86 -
  329.87 -    }
  329.88 -
  329.89 -    private static class Decoder extends SingleByteDecoder {
  329.90 -            public Decoder(Charset cs) {
  329.91 -                super(cs, byteToCharTable);
  329.92 -        }
  329.93 -
  329.94 -        private final static String byteToCharTable =
  329.95 -
  329.96 -            "\u00C4\u00C5\u00C7\u00C9\u00D1\u00D6\u00DC\u00E1" +        // 0x80 - 0x87
  329.97 -            "\u00E0\u00E2\u00E4\u00E3\u00E5\u00E7\u00E9\u00E8" +        // 0x88 - 0x8F
  329.98 -            "\u00EA\u00EB\u00ED\u00EC\u00EE\u00EF\u00F1\u00F3" +        // 0x90 - 0x97
  329.99 -            "\u00F2\u00F4\u00F6\u00F5\u00FA\u00F9\u00FB\u00FC" +        // 0x98 - 0x9F
 329.100 -            "\u00DD\u00B0\u00A2\u00A3\u00A7\u2022\u00B6\u00DF" +        // 0xA0 - 0xA7
 329.101 -            "\u00AE\u00A9\u2122\u00B4\u00A8\u2260\u00C6\u00D8" +        // 0xA8 - 0xAF
 329.102 -            "\u221E\u00B1\u2264\u2265\u00A5\u00B5\u2202\u2211" +        // 0xB0 - 0xB7
 329.103 -            "\u220F\u03C0\u222B\u00AA\u00BA\u2126\u00E6\u00F8" +        // 0xB8 - 0xBF
 329.104 -            "\u00BF\u00A1\u00AC\u221A\u0192\u2248\u2206\u00AB" +        // 0xC0 - 0xC7
 329.105 -            "\u00BB\u2026\u00A0\u00C0\u00C3\u00D5\u0152\u0153" +        // 0xC8 - 0xCF
 329.106 -            "\u2013\u2014\u201C\u201D\u2018\u2019\u00F7\u25CA" +        // 0xD0 - 0xD7
 329.107 -            "\u00FF\u0178\u2044\u00A4\u00D0\u00F0\u00DE\u00FE" +        // 0xD8 - 0xDF
 329.108 -            "\u00FD\u00B7\u201A\u201E\u2030\u00C2\u00CA\u00C1" +        // 0xE0 - 0xE7
 329.109 -            "\u00CB\u00C8\u00CD\u00CE\u00CF\u00CC\u00D3\u00D4" +        // 0xE8 - 0xEF
 329.110 -            "\uF8FF\u00D2\u00DA\u00DB\u00D9\u0131\u02C6\u02DC" +        // 0xF0 - 0xF7
 329.111 -            "\u00AF\u02D8\u02D9\u02DA\u00B8\u02DD\u02DB\u02C7" +        // 0xF8 - 0xFF
 329.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 329.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 329.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 329.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 329.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 329.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 329.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 329.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 329.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 329.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 329.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 329.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 329.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 329.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 329.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 329.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 329.128 -
 329.129 -    }
 329.130 -
 329.131 -    private static class Encoder extends SingleByteEncoder {
 329.132 -            public Encoder(Charset cs) {
 329.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 329.134 -            }
 329.135 -
 329.136 -            private final static String index2 =
 329.137 -
 329.138 -
 329.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 329.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 329.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 329.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 329.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 329.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 329.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 329.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 329.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 329.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 329.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 329.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 329.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 329.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 329.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 329.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 329.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.159 -            "\u00CA\u00C1\u00A2\u00A3\u00DB\u00B4\u0000\u00A4" +
 329.160 -            "\u00AC\u00A9\u00BB\u00C7\u00C2\u0000\u00A8\u00F8" +
 329.161 -            "\u00A1\u00B1\u0000\u0000\u00AB\u00B5\u00A6\u00E1" +
 329.162 -            "\u00FC\u0000\u00BC\u00C8\u0000\u0000\u0000\u00C0" +
 329.163 -            "\u00CB\u00E7\u00E5\u00CC\u0080\u0081\u00AE\u0082" +
 329.164 -            "\u00E9\u0083\u00E6\u00E8\u00ED\u00EA\u00EB\u00EC" +
 329.165 -            "\u00DC\u0084\u00F1\u00EE\u00EF\u00CD\u0085\u0000" +
 329.166 -            "\u00AF\u00F4\u00F2\u00F3\u0086\u00A0\u00DE\u00A7" +
 329.167 -            "\u0088\u0087\u0089\u008B\u008A\u008C\u00BE\u008D" +
 329.168 -            "\u008F\u008E\u0090\u0091\u0093\u0092\u0094\u0095" +
 329.169 -            "\u00DD\u0096\u0098\u0097\u0099\u009B\u009A\u00D6" +
 329.170 -            "\u00BF\u009D\u009C\u009E\u009F\u00E0\u00DF\u00D8" +
 329.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.177 -            "\u0000\u00F5\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.181 -            "\u0000\u0000\u00CE\u00CF\u0000\u0000\u0000\u0000" +
 329.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.186 -            "\u00D9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.189 -            "\u0000\u0000\u00C4\u0000\u0000\u0000\u0000\u0000" +
 329.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.221 -            "\u0000\u0000\u0000\u00F6\u00FF\u0000\u0000\u0000" +
 329.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.223 -            "\u0000\u0000\u0000\u0000\u0000\u00F9\u00FA\u00FB" +
 329.224 -            "\u00FE\u00F7\u00FD\u0000\u0000\u0000\u0000\u0000" +
 329.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.248 -            "\u0000\u0000\u0000\u00B9\u0000\u0000\u0000\u0000" +
 329.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.256 -            "\u0000\u0000\u0000\u00D0\u00D1\u0000\u0000\u0000" +
 329.257 -            "\u00D4\u00D5\u00E2\u0000\u00D2\u00D3\u00E3\u0000" +
 329.258 -            "\u0000\u0000\u00A5\u0000\u0000\u0000\u00C9\u0000" +
 329.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.260 -            "\u00E4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.262 -            "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" +
 329.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.286 -            "\u00AA\u0000\u0000\u0000\u00BD\u0000\u0000\u0000" +
 329.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.307 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.308 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.309 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.310 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.311 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.312 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.313 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00B6\u0000" +
 329.314 -            "\u0000\u0000\u00C6\u0000\u0000\u0000\u0000\u0000" +
 329.315 -            "\u0000\u0000\u0000\u00B8\u0000\u00B7\u0000\u0000" +
 329.316 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00C3\u0000" +
 329.317 -            "\u0000\u0000\u00B0\u0000\u0000\u0000\u0000\u0000" +
 329.318 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BA" +
 329.319 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.320 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.321 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.322 -            "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" +
 329.323 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.324 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.325 -            "\u0000\u0000\u0000\u0000\u00AD\u0000\u0000\u0000" +
 329.326 -            "\u00B2\u00B3\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.327 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.328 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.329 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.330 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.331 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.332 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.333 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.334 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.335 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.336 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.337 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.338 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.339 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.340 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.341 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.342 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.343 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.344 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.345 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.346 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.347 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.348 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.349 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.350 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.351 -            "\u0000\u0000\u0000\u0000\u00D7\u0000\u0000\u0000" +
 329.352 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.353 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.354 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.355 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.356 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.357 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.358 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.359 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.360 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.361 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.362 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.363 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.364 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.365 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.366 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.367 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.368 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.369 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.370 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.371 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.372 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.373 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.374 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.375 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.376 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.377 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.378 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.379 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.380 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.381 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.382 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 329.383 -            "\u0000\u0000\u0000\u0000\u00F0";
 329.384 -
 329.385 -    private final static short index1[] = {
 329.386 -            0, 256, 461, 683, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 329.387 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 329.388 -            920, 1142, 1396, 403, 403, 1498, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 329.389 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 329.390 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 329.391 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 329.392 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 329.393 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 329.394 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 329.395 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 329.396 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 329.397 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 329.398 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 329.399 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 329.400 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 329.401 -            403, 403, 403, 403, 403, 403, 403, 403, 1701, 403, 403, 403, 403, 403, 403, 403,
 329.402 -
 329.403 -        };
 329.404 -    }
 329.405 -}
   330.1 --- a/src/share/classes/sun/nio/cs/ext/MacRoman.java	Wed Jan 14 21:35:03 2009 -0800
   330.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   330.3 @@ -1,434 +0,0 @@
   330.4 -
   330.5 -/*
   330.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   330.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   330.8 - *
   330.9 - * This code is free software; you can redistribute it and/or modify it
  330.10 - * under the terms of the GNU General Public License version 2 only, as
  330.11 - * published by the Free Software Foundation.  Sun designates this
  330.12 - * particular file as subject to the "Classpath" exception as provided
  330.13 - * by Sun in the LICENSE file that accompanied this code.
  330.14 - *
  330.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  330.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  330.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  330.18 - * version 2 for more details (a copy is included in the LICENSE file that
  330.19 - * accompanied this code).
  330.20 - *
  330.21 - * You should have received a copy of the GNU General Public License version
  330.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  330.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  330.24 - *
  330.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  330.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  330.27 - * have any questions.
  330.28 - */
  330.29 -
  330.30 -package sun.nio.cs.ext;
  330.31 -
  330.32 -
  330.33 -import java.nio.charset.Charset;
  330.34 -import java.nio.charset.CharsetDecoder;
  330.35 -import java.nio.charset.CharsetEncoder;
  330.36 -import sun.nio.cs.StandardCharsets;
  330.37 -import sun.nio.cs.SingleByteDecoder;
  330.38 -import sun.nio.cs.SingleByteEncoder;
  330.39 -import sun.nio.cs.HistoricallyNamedCharset;
  330.40 -
  330.41 -public class MacRoman
  330.42 -    extends Charset
  330.43 -    implements HistoricallyNamedCharset
  330.44 -{
  330.45 -
  330.46 -    public MacRoman() {
  330.47 -        super("x-MacRoman", ExtendedCharsets.aliasesFor("x-MacRoman"));
  330.48 -    }
  330.49 -
  330.50 -    public String historicalName() {
  330.51 -        return "MacRoman";
  330.52 -    }
  330.53 -
  330.54 -    public boolean contains(Charset cs) {
  330.55 -        return (cs instanceof MacRoman);
  330.56 -    }
  330.57 -
  330.58 -    public CharsetDecoder newDecoder() {
  330.59 -        return new Decoder(this);
  330.60 -    }
  330.61 -
  330.62 -    public CharsetEncoder newEncoder() {
  330.63 -        return new Encoder(this);
  330.64 -    }
  330.65 -
  330.66 -
  330.67 -    /**
  330.68 -     * These accessors are temporarily supplied while sun.io
  330.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  330.70 -     * These facilitate sharing of conversion tables between the
  330.71 -     * two co-existing implementations. When sun.io converters
  330.72 -     * are made extinct these will be unncessary and should be removed
  330.73 -     */
  330.74 -
  330.75 -    public String getDecoderSingleByteMappings() {
  330.76 -        return Decoder.byteToCharTable;
  330.77 -
  330.78 -    }
  330.79 -
  330.80 -    public short[] getEncoderIndex1() {
  330.81 -        return Encoder.index1;
  330.82 -
  330.83 -    }
  330.84 -    public String getEncoderIndex2() {
  330.85 -        return Encoder.index2;
  330.86 -
  330.87 -    }
  330.88 -
  330.89 -    private static class Decoder extends SingleByteDecoder {
  330.90 -            public Decoder(Charset cs) {
  330.91 -                super(cs, byteToCharTable);
  330.92 -        }
  330.93 -
  330.94 -        private final static String byteToCharTable =
  330.95 -
  330.96 -            "\u00C4\u00C5\u00C7\u00C9\u00D1\u00D6\u00DC\u00E1" +     // 0x80 - 0x87
  330.97 -            "\u00E0\u00E2\u00E4\u00E3\u00E5\u00E7\u00E9\u00E8" +     // 0x88 - 0x8F
  330.98 -            "\u00EA\u00EB\u00ED\u00EC\u00EE\u00EF\u00F1\u00F3" +     // 0x90 - 0x97
  330.99 -            "\u00F2\u00F4\u00F6\u00F5\u00FA\u00F9\u00FB\u00FC" +     // 0x98 - 0x9F
 330.100 -            "\u2020\u00B0\u00A2\u00A3\u00A7\u2022\u00B6\u00DF" +     // 0xA0 - 0xA7
 330.101 -            "\u00AE\u00A9\u2122\u00B4\u00A8\u2260\u00C6\u00D8" +     // 0xA8 - 0xAF
 330.102 -            "\u221E\u00B1\u2264\u2265\u00A5\u00B5\u2202\u2211" +     // 0xB0 - 0xB7
 330.103 -            "\u220F\u03C0\u222B\u00AA\u00BA\u03A9\u00E6\u00F8" +     // 0xB8 - 0xBF
 330.104 -            "\u00BF\u00A1\u00AC\u221A\u0192\u2248\u2206\u00AB" +     // 0xC0 - 0xC7
 330.105 -            "\u00BB\u2026\u00A0\u00C0\u00C3\u00D5\u0152\u0153" +     // 0xC8 - 0xCF
 330.106 -            "\u2013\u2014\u201C\u201D\u2018\u2019\u00F7\u25CA" +     // 0xD0 - 0xD7
 330.107 -            "\u00FF\u0178\u2044\u20AC\u2039\u203A\uFB01\uFB02" +     // 0xD8 - 0xDF
 330.108 -            "\u2021\u00B7\u201A\u201E\u2030\u00C2\u00CA\u00C1" +     // 0xE0 - 0xE7
 330.109 -            "\u00CB\u00C8\u00CD\u00CE\u00CF\u00CC\u00D3\u00D4" +     // 0xE8 - 0xEF
 330.110 -            "\uF8FF\u00D2\u00DA\u00DB\u00D9\u0131\u02C6\u02DC" +     // 0xF0 - 0xF7
 330.111 -            "\u00AF\u02D8\u02D9\u02DA\u00B8\u02DD\u02DB\u02C7" +     // 0xF8 - 0xFF
 330.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 330.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 330.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 330.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 330.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
 330.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
 330.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 330.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 330.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
 330.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
 330.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
 330.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
 330.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
 330.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
 330.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
 330.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
 330.128 -
 330.129 -    }
 330.130 -
 330.131 -    private static class Encoder extends SingleByteEncoder {
 330.132 -            public Encoder(Charset cs) {
 330.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 330.134 -            }
 330.135 -
 330.136 -            private final static String index2 =
 330.137 -
 330.138 -
 330.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 330.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 330.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 330.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 330.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 330.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 330.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 330.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 330.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 330.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 330.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 330.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 330.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 330.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 330.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 330.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 330.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.159 -            "\u00CA\u00C1\u00A2\u00A3\u0000\u00B4\u0000\u00A4" +
 330.160 -            "\u00AC\u00A9\u00BB\u00C7\u00C2\u0000\u00A8\u00F8" +
 330.161 -            "\u00A1\u00B1\u0000\u0000\u00AB\u00B5\u00A6\u00E1" +
 330.162 -            "\u00FC\u0000\u00BC\u00C8\u0000\u0000\u0000\u00C0" +
 330.163 -            "\u00CB\u00E7\u00E5\u00CC\u0080\u0081\u00AE\u0082" +
 330.164 -            "\u00E9\u0083\u00E6\u00E8\u00ED\u00EA\u00EB\u00EC" +
 330.165 -            "\u0000\u0084\u00F1\u00EE\u00EF\u00CD\u0085\u0000" +
 330.166 -            "\u00AF\u00F4\u00F2\u00F3\u0086\u0000\u0000\u00A7" +
 330.167 -            "\u0088\u0087\u0089\u008B\u008A\u008C\u00BE\u008D" +
 330.168 -            "\u008F\u008E\u0090\u0091\u0093\u0092\u0094\u0095" +
 330.169 -            "\u0000\u0096\u0098\u0097\u0099\u009B\u009A\u00D6" +
 330.170 -            "\u00BF\u009D\u009C\u009E\u009F\u0000\u0000\u00D8" +
 330.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.177 -            "\u0000\u00F5\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.181 -            "\u0000\u0000\u00CE\u00CF\u0000\u0000\u0000\u0000" +
 330.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.186 -            "\u00D9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.189 -            "\u0000\u0000\u00C4\u0000\u0000\u0000\u0000\u0000" +
 330.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.221 -            "\u0000\u0000\u0000\u00F6\u00FF\u0000\u0000\u0000" +
 330.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.223 -            "\u0000\u0000\u0000\u0000\u0000\u00F9\u00FA\u00FB" +
 330.224 -            "\u00FE\u00F7\u00FD\u0000\u0000\u0000\u0000\u0000" +
 330.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.245 -            "\u0000\u0000\u0000\u0000\u00BD\u0000\u0000\u0000" +
 330.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.248 -            "\u0000\u0000\u0000\u00B9\u0000\u0000\u0000\u0000" +
 330.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.256 -            "\u0000\u0000\u0000\u00D0\u00D1\u0000\u0000\u0000" +
 330.257 -            "\u00D4\u00D5\u00E2\u0000\u00D2\u00D3\u00E3\u0000" +
 330.258 -            "\u00A0\u00E0\u00A5\u0000\u0000\u0000\u00C9\u0000" +
 330.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.260 -            "\u00E4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.261 -            "\u0000\u00DC\u00DD\u0000\u0000\u0000\u0000\u0000" +
 330.262 -            "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" +
 330.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.275 -            "\u0000\u0000\u0000\u0000\u00DB\u0000\u0000\u0000" +
 330.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.286 -            "\u00AA\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.307 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.308 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.309 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.310 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.311 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.312 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.313 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00B6\u0000" +
 330.314 -            "\u0000\u0000\u00C6\u0000\u0000\u0000\u0000\u0000" +
 330.315 -            "\u0000\u0000\u0000\u00B8\u0000\u00B7\u0000\u0000" +
 330.316 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00C3\u0000" +
 330.317 -            "\u0000\u0000\u00B0\u0000\u0000\u0000\u0000\u0000" +
 330.318 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BA" +
 330.319 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.320 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.321 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.322 -            "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" +
 330.323 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.324 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.325 -            "\u0000\u0000\u0000\u0000\u00AD\u0000\u0000\u0000" +
 330.326 -            "\u00B2\u00B3\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.327 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.328 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.329 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.330 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.331 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.332 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.333 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.334 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.335 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.336 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.337 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.338 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.339 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.340 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.341 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.342 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.343 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.344 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.345 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.346 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.347 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.348 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.349 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.350 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.351 -            "\u0000\u0000\u0000\u0000\u00D7\u0000\u0000\u0000" +
 330.352 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.353 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.354 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.355 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.356 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.357 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.358 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.359 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.360 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.361 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.362 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.363 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.364 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.365 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.366 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.367 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.368 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.369 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.370 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.371 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.372 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.373 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.374 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.375 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.376 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.377 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.378 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.379 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.380 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.381 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.382 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.383 -            "\u0000\u0000\u0000\u0000\u00F0\u0000\u00DE\u00DF" +
 330.384 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.385 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.386 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.387 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.388 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.389 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.390 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.391 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.392 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.393 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.394 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.395 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.396 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.397 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.398 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.399 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.400 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.401 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.402 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.403 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.404 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.405 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.406 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.407 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.408 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.409 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.410 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.411 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.412 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.413 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.414 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 330.415 -            "\u0000\u0000\u0000\u0000\u0000";
 330.416 -
 330.417 -    private final static short index1[] = {
 330.418 -            0, 256, 461, 683, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 330.419 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 330.420 -            920, 1142, 1396, 403, 403, 1498, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 330.421 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 330.422 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 330.423 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 330.424 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 330.425 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 330.426 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 330.427 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 330.428 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 330.429 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 330.430 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 330.431 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 330.432 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 330.433 -            403, 403, 403, 403, 403, 403, 403, 403, 1701, 403, 403, 1957, 403, 403, 403, 403,
 330.434 -
 330.435 -        };
 330.436 -    }
 330.437 -}
   331.1 --- a/src/share/classes/sun/nio/cs/ext/MacRomania.java	Wed Jan 14 21:35:03 2009 -0800
   331.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   331.3 @@ -1,402 +0,0 @@
   331.4 -
   331.5 -/*
   331.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   331.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   331.8 - *
   331.9 - * This code is free software; you can redistribute it and/or modify it
  331.10 - * under the terms of the GNU General Public License version 2 only, as
  331.11 - * published by the Free Software Foundation.  Sun designates this
  331.12 - * particular file as subject to the "Classpath" exception as provided
  331.13 - * by Sun in the LICENSE file that accompanied this code.
  331.14 - *
  331.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  331.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  331.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  331.18 - * version 2 for more details (a copy is included in the LICENSE file that
  331.19 - * accompanied this code).
  331.20 - *
  331.21 - * You should have received a copy of the GNU General Public License version
  331.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  331.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  331.24 - *
  331.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  331.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  331.27 - * have any questions.
  331.28 - */
  331.29 -
  331.30 -package sun.nio.cs.ext;
  331.31 -
  331.32 -
  331.33 -import java.nio.charset.Charset;
  331.34 -import java.nio.charset.CharsetDecoder;
  331.35 -import java.nio.charset.CharsetEncoder;
  331.36 -import sun.nio.cs.StandardCharsets;
  331.37 -import sun.nio.cs.SingleByteDecoder;
  331.38 -import sun.nio.cs.SingleByteEncoder;
  331.39 -import sun.nio.cs.HistoricallyNamedCharset;
  331.40 -
  331.41 -public class MacRomania
  331.42 -    extends Charset
  331.43 -    implements HistoricallyNamedCharset
  331.44 -{
  331.45 -
  331.46 -    public MacRomania() {
  331.47 -        super("x-MacRomania", ExtendedCharsets.aliasesFor("x-MacRomania"));
  331.48 -    }
  331.49 -
  331.50 -    public String historicalName() {
  331.51 -        return "MacRomania";
  331.52 -    }
  331.53 -
  331.54 -    public boolean contains(Charset cs) {
  331.55 -        return (cs instanceof MacRomania);
  331.56 -    }
  331.57 -
  331.58 -    public CharsetDecoder newDecoder() {
  331.59 -        return new Decoder(this);
  331.60 -    }
  331.61 -
  331.62 -    public CharsetEncoder newEncoder() {
  331.63 -        return new Encoder(this);
  331.64 -    }
  331.65 -
  331.66 -
  331.67 -    /**
  331.68 -     * These accessors are temporarily supplied while sun.io
  331.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  331.70 -     * These facilitate sharing of conversion tables between the
  331.71 -     * two co-existing implementations. When sun.io converters
  331.72 -     * are made extinct these will be unncessary and should be removed
  331.73 -     */
  331.74 -
  331.75 -    public String getDecoderSingleByteMappings() {
  331.76 -        return Decoder.byteToCharTable;
  331.77 -
  331.78 -    }
  331.79 -
  331.80 -    public short[] getEncoderIndex1() {
  331.81 -        return Encoder.index1;
  331.82 -
  331.83 -    }
  331.84 -    public String getEncoderIndex2() {
  331.85 -        return Encoder.index2;
  331.86 -
  331.87 -    }
  331.88 -
  331.89 -    private static class Decoder extends SingleByteDecoder {
  331.90 -            public Decoder(Charset cs) {
  331.91 -                super(cs, byteToCharTable);
  331.92 -        }
  331.93 -
  331.94 -        private final static String byteToCharTable =
  331.95 -
  331.96 -            "\u00C4\u00C5\u00C7\u00C9\u00D1\u00D6\u00DC\u00E1" +        // 0x80 - 0x87
  331.97 -            "\u00E0\u00E2\u00E4\u00E3\u00E5\u00E7\u00E9\u00E8" +        // 0x88 - 0x8F
  331.98 -            "\u00EA\u00EB\u00ED\u00EC\u00EE\u00EF\u00F1\u00F3" +        // 0x90 - 0x97
  331.99 -            "\u00F2\u00F4\u00F6\u00F5\u00FA\u00F9\u00FB\u00FC" +        // 0x98 - 0x9F
 331.100 -            "\u2020\u00B0\u00A2\u00A3\u00A7\u2022\u00B6\u00DF" +        // 0xA0 - 0xA7
 331.101 -            "\u00AE\u00A9\u2122\u00B4\u00A8\u2260\u0102\u015E" +        // 0xA8 - 0xAF
 331.102 -            "\u221E\u00B1\u2264\u2265\u00A5\u00B5\u2202\u2211" +        // 0xB0 - 0xB7
 331.103 -            "\u220F\u03C0\u222B\u00AA\u00BA\u2126\u0103\u015F" +        // 0xB8 - 0xBF
 331.104 -            "\u00BF\u00A1\u00AC\u221A\u0192\u2248\u2206\u00AB" +        // 0xC0 - 0xC7
 331.105 -            "\u00BB\u2026\u00A0\u00C0\u00C3\u00D5\u0152\u0153" +        // 0xC8 - 0xCF
 331.106 -            "\u2013\u2014\u201C\u201D\u2018\u2019\u00F7\u25CA" +        // 0xD0 - 0xD7
 331.107 -            "\u00FF\u0178\u2044\u00A4\u2039\u203A\u0162\u0163" +        // 0xD8 - 0xDF
 331.108 -            "\u2021\u00B7\u201A\u201E\u2030\u00C2\u00CA\u00C1" +        // 0xE0 - 0xE7
 331.109 -            "\u00CB\u00C8\u00CD\u00CE\u00CF\u00CC\u00D3\u00D4" +        // 0xE8 - 0xEF
 331.110 -            "\uF8FF\u00D2\u00DA\u00DB\u00D9\u0131\u02C6\u02DC" +        // 0xF0 - 0xF7
 331.111 -            "\u00AF\u02D8\u02D9\u02DA\u00B8\u02DD\u02DB\u02C7" +        // 0xF8 - 0xFF
 331.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 331.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 331.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 331.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 331.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 331.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 331.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 331.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 331.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 331.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 331.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 331.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 331.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 331.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 331.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 331.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 331.128 -
 331.129 -    }
 331.130 -
 331.131 -    private static class Encoder extends SingleByteEncoder {
 331.132 -            public Encoder(Charset cs) {
 331.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 331.134 -            }
 331.135 -
 331.136 -            private final static String index2 =
 331.137 -
 331.138 -
 331.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 331.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 331.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 331.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 331.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 331.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 331.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 331.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 331.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 331.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 331.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 331.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 331.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 331.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 331.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 331.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 331.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.159 -            "\u00CA\u00C1\u00A2\u00A3\u00DB\u00B4\u0000\u00A4" +
 331.160 -            "\u00AC\u00A9\u00BB\u00C7\u00C2\u0000\u00A8\u00F8" +
 331.161 -            "\u00A1\u00B1\u0000\u0000\u00AB\u00B5\u00A6\u00E1" +
 331.162 -            "\u00FC\u0000\u00BC\u00C8\u0000\u0000\u0000\u00C0" +
 331.163 -            "\u00CB\u00E7\u00E5\u00CC\u0080\u0081\u0000\u0082" +
 331.164 -            "\u00E9\u0083\u00E6\u00E8\u00ED\u00EA\u00EB\u00EC" +
 331.165 -            "\u0000\u0084\u00F1\u00EE\u00EF\u00CD\u0085\u0000" +
 331.166 -            "\u0000\u00F4\u00F2\u00F3\u0086\u0000\u0000\u00A7" +
 331.167 -            "\u0088\u0087\u0089\u008B\u008A\u008C\u0000\u008D" +
 331.168 -            "\u008F\u008E\u0090\u0091\u0093\u0092\u0094\u0095" +
 331.169 -            "\u0000\u0096\u0098\u0097\u0099\u009B\u009A\u00D6" +
 331.170 -            "\u0000\u009D\u009C\u009E\u009F\u0000\u0000\u00D8" +
 331.171 -            "\u0000\u0000\u00AE\u00BE\u0000\u0000\u0000\u0000" +
 331.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.177 -            "\u0000\u00F5\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.181 -            "\u0000\u0000\u00CE\u00CF\u0000\u0000\u0000\u0000" +
 331.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00AF\u00BF" +
 331.183 -            "\u0000\u0000\u00DE\u00DF\u0000\u0000\u0000\u0000" +
 331.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.186 -            "\u00D9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.189 -            "\u0000\u0000\u00C4\u0000\u0000\u0000\u0000\u0000" +
 331.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.221 -            "\u0000\u0000\u0000\u00F6\u00FF\u0000\u0000\u0000" +
 331.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.223 -            "\u0000\u0000\u0000\u0000\u0000\u00F9\u00FA\u00FB" +
 331.224 -            "\u00FE\u00F7\u00FD\u0000\u0000\u0000\u0000\u0000" +
 331.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.248 -            "\u0000\u0000\u0000\u00B9\u0000\u0000\u0000\u0000" +
 331.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.256 -            "\u0000\u0000\u0000\u00D0\u00D1\u0000\u0000\u0000" +
 331.257 -            "\u00D4\u00D5\u00E2\u0000\u00D2\u00D3\u00E3\u0000" +
 331.258 -            "\u00A0\u00E0\u00A5\u0000\u0000\u0000\u00C9\u0000" +
 331.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.260 -            "\u00E4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.261 -            "\u0000\u00DC\u00DD\u0000\u0000\u0000\u0000\u0000" +
 331.262 -            "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" +
 331.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.286 -            "\u00AA\u0000\u0000\u0000\u00BD\u0000\u0000\u0000" +
 331.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.307 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.308 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.309 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.310 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.311 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.312 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.313 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00B6\u0000" +
 331.314 -            "\u0000\u0000\u00C6\u0000\u0000\u0000\u0000\u0000" +
 331.315 -            "\u0000\u0000\u0000\u00B8\u0000\u00B7\u0000\u0000" +
 331.316 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00C3\u0000" +
 331.317 -            "\u0000\u0000\u00B0\u0000\u0000\u0000\u0000\u0000" +
 331.318 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BA" +
 331.319 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.320 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.321 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.322 -            "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" +
 331.323 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.324 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.325 -            "\u0000\u0000\u0000\u0000\u00AD\u0000\u0000\u0000" +
 331.326 -            "\u00B2\u00B3\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.327 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.328 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.329 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.330 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.331 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.332 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.333 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.334 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.335 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.336 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.337 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.338 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.339 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.340 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.341 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.342 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.343 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.344 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.345 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.346 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.347 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.348 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.349 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.350 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.351 -            "\u0000\u0000\u0000\u0000\u00D7\u0000\u0000\u0000" +
 331.352 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.353 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.354 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.355 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.356 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.357 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.358 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.359 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.360 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.361 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.362 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.363 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.364 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.365 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.366 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.367 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.368 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.369 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.370 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.371 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.372 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.373 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.374 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.375 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.376 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.377 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.378 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.379 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.380 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.381 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.382 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 331.383 -            "\u0000\u0000\u0000\u0000\u00F0";
 331.384 -
 331.385 -    private final static short index1[] = {
 331.386 -            0, 256, 461, 683, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 331.387 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 331.388 -            920, 1142, 1396, 403, 403, 1498, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 331.389 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 331.390 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 331.391 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 331.392 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 331.393 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 331.394 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 331.395 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 331.396 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 331.397 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 331.398 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 331.399 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 331.400 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 331.401 -            403, 403, 403, 403, 403, 403, 403, 403, 1701, 403, 403, 403, 403, 403, 403, 403,
 331.402 -
 331.403 -        };
 331.404 -    }
 331.405 -}
   332.1 --- a/src/share/classes/sun/nio/cs/ext/MacSymbol.java	Wed Jan 14 21:35:03 2009 -0800
   332.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   332.3 @@ -1,425 +0,0 @@
   332.4 -
   332.5 -/*
   332.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   332.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   332.8 - *
   332.9 - * This code is free software; you can redistribute it and/or modify it
  332.10 - * under the terms of the GNU General Public License version 2 only, as
  332.11 - * published by the Free Software Foundation.  Sun designates this
  332.12 - * particular file as subject to the "Classpath" exception as provided
  332.13 - * by Sun in the LICENSE file that accompanied this code.
  332.14 - *
  332.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  332.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  332.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  332.18 - * version 2 for more details (a copy is included in the LICENSE file that
  332.19 - * accompanied this code).
  332.20 - *
  332.21 - * You should have received a copy of the GNU General Public License version
  332.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  332.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  332.24 - *
  332.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  332.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  332.27 - * have any questions.
  332.28 - */
  332.29 -
  332.30 -package sun.nio.cs.ext;
  332.31 -
  332.32 -
  332.33 -import java.nio.charset.Charset;
  332.34 -import java.nio.charset.CharsetDecoder;
  332.35 -import java.nio.charset.CharsetEncoder;
  332.36 -import sun.nio.cs.StandardCharsets;
  332.37 -import sun.nio.cs.SingleByteDecoder;
  332.38 -import sun.nio.cs.SingleByteEncoder;
  332.39 -import sun.nio.cs.HistoricallyNamedCharset;
  332.40 -
  332.41 -public class MacSymbol
  332.42 -    extends Charset
  332.43 -    implements HistoricallyNamedCharset
  332.44 -{
  332.45 -
  332.46 -    public MacSymbol() {
  332.47 -        super("x-MacSymbol", ExtendedCharsets.aliasesFor("x-MacSymbol"));
  332.48 -    }
  332.49 -
  332.50 -    public String historicalName() {
  332.51 -        return "MacSymbol";
  332.52 -    }
  332.53 -
  332.54 -    public boolean contains(Charset cs) {
  332.55 -        return (cs instanceof MacSymbol);
  332.56 -    }
  332.57 -
  332.58 -    public CharsetDecoder newDecoder() {
  332.59 -        return new Decoder(this);
  332.60 -    }
  332.61 -
  332.62 -    public CharsetEncoder newEncoder() {
  332.63 -        return new Encoder(this);
  332.64 -    }
  332.65 -
  332.66 -
  332.67 -    /**
  332.68 -     * These accessors are temporarily supplied while sun.io
  332.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  332.70 -     * These facilitate sharing of conversion tables between the
  332.71 -     * two co-existing implementations. When sun.io converters
  332.72 -     * are made extinct these will be unncessary and should be removed
  332.73 -     */
  332.74 -
  332.75 -    public String getDecoderSingleByteMappings() {
  332.76 -        return Decoder.byteToCharTable;
  332.77 -
  332.78 -    }
  332.79 -
  332.80 -    public short[] getEncoderIndex1() {
  332.81 -        return Encoder.index1;
  332.82 -
  332.83 -    }
  332.84 -    public String getEncoderIndex2() {
  332.85 -        return Encoder.index2;
  332.86 -
  332.87 -    }
  332.88 -
  332.89 -    private static class Decoder extends SingleByteDecoder {
  332.90 -            public Decoder(Charset cs) {
  332.91 -                super(cs, byteToCharTable);
  332.92 -        }
  332.93 -
  332.94 -        private final static String byteToCharTable =
  332.95 -
  332.96 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0x80 - 0x87
  332.97 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0x88 - 0x8F
  332.98 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0x90 - 0x97
  332.99 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0x98 - 0x9F
 332.100 -            "\u20AC\u03D2\u2032\u2264\u2044\u221E\u0192\u2663" +     // 0xA0 - 0xA7
 332.101 -            "\u2666\u2665\u2660\u2194\u2190\u2191\u2192\u2193" +     // 0xA8 - 0xAF
 332.102 -            "\u00B0\u00B1\u2033\u2265\u00D7\u221D\u2202\u2022" +     // 0xB0 - 0xB7
 332.103 -            "\u00F7\u2260\u2261\u2248\u2026\uF8E6\uF8E7\u21B5" +     // 0xB8 - 0xBF
 332.104 -            "\u2135\u2111\u211C\u2118\u2297\u2295\u2205\u2229" +     // 0xC0 - 0xC7
 332.105 -            "\u222A\u2283\u2287\u2284\u2282\u2286\u2208\u2209" +     // 0xC8 - 0xCF
 332.106 -            "\u2220\u2207\u00AE\u00A9\u2122\u220F\u221A\u22C5" +     // 0xD0 - 0xD7
 332.107 -            "\u00AC\u2227\u2228\u21D4\u21D0\u21D1\u21D2\u21D3" +     // 0xD8 - 0xDF
 332.108 -            "\u22C4\u3008\uFFFD\uFFFD\uFFFD\u2211\uFFFD\uFFFD" +     // 0xE0 - 0xE7
 332.109 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uF8F4" +     // 0xE8 - 0xEF
 332.110 -            "\uF8FF\u3009\u222B\u2320\uFFFD\u2321\uFFFD\uFFFD" +     // 0xF0 - 0xF7
 332.111 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xF8 - 0xFF
 332.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
 332.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
 332.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
 332.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
 332.116 -            "\u0020\u0021\u2200\u0023\u2203\u0025\u0026\u220D" +     // 0x20 - 0x27
 332.117 -            "\u0028\u0029\u2217\u002B\u002C\u2212\u002E\u002F" +     // 0x28 - 0x2F
 332.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
 332.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
 332.120 -            "\u2245\u0391\u0392\u03A7\u0394\u0395\u03A6\u0393" +     // 0x40 - 0x47
 332.121 -            "\u0397\u0399\u03D1\u039A\u039B\u039C\u039D\u039F" +     // 0x48 - 0x4F
 332.122 -            "\u03A0\u0398\u03A1\u03A3\u03A4\u03A5\u03C2\u03A9" +     // 0x50 - 0x57
 332.123 -            "\u039E\u03A8\u0396\u005B\u2234\u005D\u22A5\u005F" +     // 0x58 - 0x5F
 332.124 -            "\uF8E5\u03B1\u03B2\u03C7\u03B4\u03B5\u03C6\u03B3" +     // 0x60 - 0x67
 332.125 -            "\u03B7\u03B9\u03D5\u03BA\u03BB\u03BC\u03BD\u03BF" +     // 0x68 - 0x6F
 332.126 -            "\u03C0\u03B8\u03C1\u03C3\u03C4\u03C5\u03D6\u03C9" +     // 0x70 - 0x77
 332.127 -            "\u03BE\u03C8\u03B6\u007B\u007C\u007D\u223C\u007F";     // 0x78 - 0x7F
 332.128 -
 332.129 -    }
 332.130 -
 332.131 -    private static class Encoder extends SingleByteEncoder {
 332.132 -            public Encoder(Charset cs) {
 332.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 332.134 -            }
 332.135 -
 332.136 -            private final static String index2 =
 332.137 -
 332.138 -
 332.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 332.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 332.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 332.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 332.143 -            "\u0020\u0021\u0000\u0023\u0000\u0025\u0026\u0000" +
 332.144 -            "\u0028\u0029\u0000\u002B\u002C\u0000\u002E\u002F" +
 332.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 332.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 332.147 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.148 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.149 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.150 -            "\u0000\u0000\u0000\u005B\u0000\u005D\u0000\u005F" +
 332.151 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.152 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.153 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.154 -            "\u0000\u0000\u0000\u007B\u007C\u007D\u0000\u007F" +
 332.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.159 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.160 -            "\u0000\u00D3\u0000\u0000\u00D8\u0000\u00D2\u0000" +
 332.161 -            "\u00B0\u00B1\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.162 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B4" +
 332.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B8" +
 332.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.188 -            "\u0000\u0000\u00A6\u0000\u0000\u0000\u0000\u0000" +
 332.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.220 -            "\u0000\u0000\u0000\u0041\u0042\u0047\u0044\u0045" +
 332.221 -            "\u005A\u0048\u0051\u0049\u004B\u004C\u004D\u004E" +
 332.222 -            "\u0058\u004F\u0050\u0052\u0000\u0053\u0054\u0055" +
 332.223 -            "\u0046\u0043\u0059\u0057\u0000\u0000\u0000\u0000" +
 332.224 -            "\u0000\u0000\u0000\u0061\u0062\u0067\u0064\u0065" +
 332.225 -            "\u007A\u0068\u0071\u0069\u006B\u006C\u006D\u006E" +
 332.226 -            "\u0078\u006F\u0070\u0072\u0056\u0073\u0074\u0075" +
 332.227 -            "\u0066\u0063\u0079\u0077\u0000\u0000\u0000\u0000" +
 332.228 -            "\u0000\u0000\u0000\u004A\u00A1\u0000\u0000\u006A" +
 332.229 -            "\u0076\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.234 -            "\u0000\u0000\u00B7\u0000\u0000\u0000\u00BC\u0000" +
 332.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.236 -            "\u0000\u0000\u00A2\u00B2\u0000\u0000\u0000\u0000" +
 332.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.238 -            "\u0000\u0000\u0000\u0000\u00A4\u0000\u0000\u0000" +
 332.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.251 -            "\u0000\u0000\u0000\u0000\u00A0\u0000\u0000\u0000" +
 332.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.262 -            "\u00C1\u0000\u0000\u0000\u0000\u0000\u0000\u00C3" +
 332.263 -            "\u0000\u0000\u0000\u00C2\u0000\u0000\u0000\u0000" +
 332.264 -            "\u0000\u00D4\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.266 -            "\u0000\u0000\u0000\u0000\u00C0\u0000\u0000\u0000" +
 332.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00AC" +
 332.278 -            "\u00AD\u00AE\u00AF\u00AB\u0000\u0000\u0000\u0000" +
 332.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.282 -            "\u0000\u0000\u0000\u0000\u00BF\u0000\u0000\u0000" +
 332.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DC" +
 332.286 -            "\u00DD\u00DE\u00DF\u00DB\u0000\u0000\u0000\u0000" +
 332.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"" +
 332.292 -            "\u0000\u00B6\u0024\u0000\u00C6\u0000\u00D1\u00CE" +
 332.293 -            "\u00CF\u0000\u0000\u0000\'\u0000\u00D5\u0000" +
 332.294 -            "\u00E5\u002D\u0000\u0000\u0000\u0000\u002A\u0000" +
 332.295 -            "\u0000\u00D6\u0000\u0000\u00B5\u00A5\u0000\u00D0" +
 332.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00D9\u00DA" +
 332.297 -            "\u00C7\u00C8\u00F2\u0000\u0000\u0000\u0000\u0000" +
 332.298 -            "\u0000\u0000\u0000\\\u0000\u0000\u0000\u0000" +
 332.299 -            "\u0000\u0000\u0000\u007E\u0000\u0000\u0000\u0000" +
 332.300 -            "\u0000\u0000\u0000\u0000\u0040\u0000\u0000\u00BB" +
 332.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B9" +
 332.304 -            "\u00BA\u0000\u0000\u00A3\u00B3\u0000\u0000\u0000" +
 332.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.307 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.308 -            "\u0000\u00CC\u00C9\u00CB\u0000\u00CD\u00CA\u0000" +
 332.309 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.310 -            "\u0000\u0000\u0000\u0000\u00C5\u0000\u00C4\u0000" +
 332.311 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.312 -            "\u0000\u0000\u0000\u0000\u005E\u0000\u0000\u0000" +
 332.313 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.314 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.315 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.316 -            "\u0000\u0000\u0000\u00E0\u00D7\u0000\u0000\u0000" +
 332.317 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.318 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.319 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.320 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.321 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.322 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.323 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F3" +
 332.324 -            "\u00F5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.325 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.326 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.327 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.328 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.329 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.330 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.331 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.332 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.333 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.334 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.335 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.336 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.337 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.338 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.339 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.340 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.341 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.342 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.343 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.344 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.345 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.346 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.347 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.348 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.349 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.350 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.351 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00AA" +
 332.352 -            "\u0000\u0000\u00A7\u0000\u00A9\u00A8\u0000\u0000" +
 332.353 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.354 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.355 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.356 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.357 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.358 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.359 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.360 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.361 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.362 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.363 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.364 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.365 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.366 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.367 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.368 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.369 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.370 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.371 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E1" +
 332.372 -            "\u00F1\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.373 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.374 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.375 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.376 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.377 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.378 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.379 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.380 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.381 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.382 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.383 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.384 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.385 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.386 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.387 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.388 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.389 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.390 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.391 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.392 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.393 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.394 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.395 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.396 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.397 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.398 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.399 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.400 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.401 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.402 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0060" +
 332.403 -            "\u00BD\u00BE\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.404 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00EF\u0000" +
 332.405 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 332.406 -            "\u0000\u00F0";
 332.407 -
 332.408 -    private final static short index1[] = {
 332.409 -            0, 248, 395, 506, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 332.410 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 332.411 -            728, 967, 1223, 1447, 395, 395, 1607, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 332.412 -            1855, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 332.413 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 332.414 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 332.415 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 332.416 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 332.417 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 332.418 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 332.419 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 332.420 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 332.421 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 332.422 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 332.423 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 332.424 -            395, 395, 395, 395, 395, 395, 395, 395, 1882, 395, 395, 395, 395, 395, 395, 395,
 332.425 -
 332.426 -        };
 332.427 -    }
 332.428 -}
   333.1 --- a/src/share/classes/sun/nio/cs/ext/MacThai.java	Wed Jan 14 21:35:03 2009 -0800
   333.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   333.3 @@ -1,338 +0,0 @@
   333.4 -
   333.5 -/*
   333.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   333.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   333.8 - *
   333.9 - * This code is free software; you can redistribute it and/or modify it
  333.10 - * under the terms of the GNU General Public License version 2 only, as
  333.11 - * published by the Free Software Foundation.  Sun designates this
  333.12 - * particular file as subject to the "Classpath" exception as provided
  333.13 - * by Sun in the LICENSE file that accompanied this code.
  333.14 - *
  333.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  333.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  333.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  333.18 - * version 2 for more details (a copy is included in the LICENSE file that
  333.19 - * accompanied this code).
  333.20 - *
  333.21 - * You should have received a copy of the GNU General Public License version
  333.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  333.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  333.24 - *
  333.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  333.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  333.27 - * have any questions.
  333.28 - */
  333.29 -
  333.30 -package sun.nio.cs.ext;
  333.31 -
  333.32 -
  333.33 -import java.nio.charset.Charset;
  333.34 -import java.nio.charset.CharsetDecoder;
  333.35 -import java.nio.charset.CharsetEncoder;
  333.36 -import sun.nio.cs.StandardCharsets;
  333.37 -import sun.nio.cs.SingleByteDecoder;
  333.38 -import sun.nio.cs.SingleByteEncoder;
  333.39 -import sun.nio.cs.HistoricallyNamedCharset;
  333.40 -
  333.41 -public class MacThai
  333.42 -    extends Charset
  333.43 -    implements HistoricallyNamedCharset
  333.44 -{
  333.45 -
  333.46 -    public MacThai() {
  333.47 -        super("x-MacThai", ExtendedCharsets.aliasesFor("x-MacThai"));
  333.48 -    }
  333.49 -
  333.50 -    public String historicalName() {
  333.51 -        return "MacThai";
  333.52 -    }
  333.53 -
  333.54 -    public boolean contains(Charset cs) {
  333.55 -        return (cs instanceof MacThai);
  333.56 -    }
  333.57 -
  333.58 -    public CharsetDecoder newDecoder() {
  333.59 -        return new Decoder(this);
  333.60 -    }
  333.61 -
  333.62 -    public CharsetEncoder newEncoder() {
  333.63 -        return new Encoder(this);
  333.64 -    }
  333.65 -
  333.66 -
  333.67 -    /**
  333.68 -     * These accessors are temporarily supplied while sun.io
  333.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  333.70 -     * These facilitate sharing of conversion tables between the
  333.71 -     * two co-existing implementations. When sun.io converters
  333.72 -     * are made extinct these will be unncessary and should be removed
  333.73 -     */
  333.74 -
  333.75 -    public String getDecoderSingleByteMappings() {
  333.76 -        return Decoder.byteToCharTable;
  333.77 -
  333.78 -    }
  333.79 -
  333.80 -    public short[] getEncoderIndex1() {
  333.81 -        return Encoder.index1;
  333.82 -
  333.83 -    }
  333.84 -    public String getEncoderIndex2() {
  333.85 -        return Encoder.index2;
  333.86 -
  333.87 -    }
  333.88 -
  333.89 -    private static class Decoder extends SingleByteDecoder {
  333.90 -            public Decoder(Charset cs) {
  333.91 -                super(cs, byteToCharTable);
  333.92 -        }
  333.93 -
  333.94 -        private final static String byteToCharTable =
  333.95 -
  333.96 -            "\u00AB\u00BB\u2026\uF88C\uF88F\uF892\uF895\uF898" +        // 0x80 - 0x87
  333.97 -            "\uF88B\uF88E\uF891\uF894\uF897\u201C\u201D\uF899" +        // 0x88 - 0x8F
  333.98 -            "\uFFFD\u2022\uF884\uF889\uF885\uF886\uF887\uF888" +        // 0x90 - 0x97
  333.99 -            "\uF88A\uF88D\uF890\uF893\uF896\u2018\u2019\uFFFD" +        // 0x98 - 0x9F
 333.100 -            "\u00A0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07" +        // 0xA0 - 0xA7
 333.101 -            "\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F" +        // 0xA8 - 0xAF
 333.102 -            "\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17" +        // 0xB0 - 0xB7
 333.103 -            "\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F" +        // 0xB8 - 0xBF
 333.104 -            "\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27" +        // 0xC0 - 0xC7
 333.105 -            "\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F" +        // 0xC8 - 0xCF
 333.106 -            "\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37" +        // 0xD0 - 0xD7
 333.107 -            "\u0E38\u0E39\u0E3A\uFEFF\u200B\u2013\u2014\u0E3F" +        // 0xD8 - 0xDF
 333.108 -            "\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47" +        // 0xE0 - 0xE7
 333.109 -            "\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u2122\u0E4F" +        // 0xE8 - 0xEF
 333.110 -            "\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57" +        // 0xF0 - 0xF7
 333.111 -            "\u0E58\u0E59\u00AE\u00A9\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0xF8 - 0xFF
 333.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 333.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 333.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 333.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 333.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 333.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 333.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 333.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 333.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 333.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 333.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 333.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 333.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 333.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 333.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 333.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 333.128 -
 333.129 -    }
 333.130 -
 333.131 -    private static class Encoder extends SingleByteEncoder {
 333.132 -            public Encoder(Charset cs) {
 333.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 333.134 -            }
 333.135 -
 333.136 -            private final static String index2 =
 333.137 -
 333.138 -
 333.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 333.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 333.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 333.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 333.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 333.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 333.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 333.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 333.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 333.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 333.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 333.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 333.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 333.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 333.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 333.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 333.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.159 -            "\u00A0\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.160 -            "\u0000\u00FB\u0000\u0080\u0000\u0000\u00FA\u0000" +
 333.161 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.162 -            "\u0000\u0000\u0000\u0081\u0000\u0000\u0000\u0000" +
 333.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.194 -            "\u0000\u0000\u0000\u0000\u00A1\u00A2\u00A3\u00A4" +
 333.195 -            "\u00A5\u00A6\u00A7\u00A8\u00A9\u00AA\u00AB\u00AC" +
 333.196 -            "\u00AD\u00AE\u00AF\u00B0\u00B1\u00B2\u00B3\u00B4" +
 333.197 -            "\u00B5\u00B6\u00B7\u00B8\u00B9\u00BA\u00BB\u00BC" +
 333.198 -            "\u00BD\u00BE\u00BF\u00C0\u00C1\u00C2\u00C3\u00C4" +
 333.199 -            "\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB\u00CC" +
 333.200 -            "\u00CD\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3\u00D4" +
 333.201 -            "\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA\u0000\u0000" +
 333.202 -            "\u0000\u0000\u00DF\u00E0\u00E1\u00E2\u00E3\u00E4" +
 333.203 -            "\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC" +
 333.204 -            "\u00ED\u0000\u00EF\u00F0\u00F1\u00F2\u00F3\u00F4" +
 333.205 -            "\u00F5\u00F6\u00F7\u00F8\u00F9\u0000\u0000\u0000" +
 333.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.221 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.223 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.224 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.226 -            "\u0000\u0000\u0000\u00DC\u0000\u0000\u0000\u0000" +
 333.227 -            "\u0000\u0000\u0000\u00DD\u00DE\u0000\u0000\u0000" +
 333.228 -            "\u009D\u009E\u0000\u0000\u008D\u008E\u0000\u0000" +
 333.229 -            "\u0000\u0000\u0091\u0000\u0000\u0000\u0082\u0000" +
 333.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.257 -            "\u00EE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0092\u0094" +
 333.285 -            "\u0095\u0096\u0097\u0093\u0098\u0088\u0083\u0099" +
 333.286 -            "\u0089\u0084\u009A\u008A\u0085\u009B\u008B\u0086" +
 333.287 -            "\u009C\u008C\u0087\u008F\u0000\u0000\u0000\u0000" +
 333.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.307 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.308 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.309 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.310 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.311 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.312 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.313 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.314 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.315 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.316 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.317 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.318 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 333.319 -            "\u0000\u0000\u0000\u00DB";
 333.320 -
 333.321 -    private final static short index1[] = {
 333.322 -            0, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 443, 188,
 333.323 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 333.324 -            688, 910, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 333.325 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 333.326 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 333.327 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 333.328 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 333.329 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 333.330 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 333.331 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 333.332 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 333.333 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 333.334 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 333.335 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 333.336 -            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
 333.337 -            188, 188, 188, 188, 188, 188, 188, 188, 1034, 188, 188, 188, 188, 188, 1188, 188,
 333.338 -
 333.339 -        };
 333.340 -    }
 333.341 -}
   334.1 --- a/src/share/classes/sun/nio/cs/ext/MacTurkish.java	Wed Jan 14 21:35:03 2009 -0800
   334.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   334.3 @@ -1,402 +0,0 @@
   334.4 -
   334.5 -/*
   334.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   334.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   334.8 - *
   334.9 - * This code is free software; you can redistribute it and/or modify it
  334.10 - * under the terms of the GNU General Public License version 2 only, as
  334.11 - * published by the Free Software Foundation.  Sun designates this
  334.12 - * particular file as subject to the "Classpath" exception as provided
  334.13 - * by Sun in the LICENSE file that accompanied this code.
  334.14 - *
  334.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  334.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  334.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  334.18 - * version 2 for more details (a copy is included in the LICENSE file that
  334.19 - * accompanied this code).
  334.20 - *
  334.21 - * You should have received a copy of the GNU General Public License version
  334.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  334.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  334.24 - *
  334.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  334.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  334.27 - * have any questions.
  334.28 - */
  334.29 -
  334.30 -package sun.nio.cs.ext;
  334.31 -
  334.32 -
  334.33 -import java.nio.charset.Charset;
  334.34 -import java.nio.charset.CharsetDecoder;
  334.35 -import java.nio.charset.CharsetEncoder;
  334.36 -import sun.nio.cs.StandardCharsets;
  334.37 -import sun.nio.cs.SingleByteDecoder;
  334.38 -import sun.nio.cs.SingleByteEncoder;
  334.39 -import sun.nio.cs.HistoricallyNamedCharset;
  334.40 -
  334.41 -public class MacTurkish
  334.42 -    extends Charset
  334.43 -    implements HistoricallyNamedCharset
  334.44 -{
  334.45 -
  334.46 -    public MacTurkish() {
  334.47 -        super("x-MacTurkish", ExtendedCharsets.aliasesFor("x-MacTurkish"));
  334.48 -    }
  334.49 -
  334.50 -    public String historicalName() {
  334.51 -        return "MacTurkish";
  334.52 -    }
  334.53 -
  334.54 -    public boolean contains(Charset cs) {
  334.55 -        return (cs instanceof MacTurkish);
  334.56 -    }
  334.57 -
  334.58 -    public CharsetDecoder newDecoder() {
  334.59 -        return new Decoder(this);
  334.60 -    }
  334.61 -
  334.62 -    public CharsetEncoder newEncoder() {
  334.63 -        return new Encoder(this);
  334.64 -    }
  334.65 -
  334.66 -
  334.67 -    /**
  334.68 -     * These accessors are temporarily supplied while sun.io
  334.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  334.70 -     * These facilitate sharing of conversion tables between the
  334.71 -     * two co-existing implementations. When sun.io converters
  334.72 -     * are made extinct these will be unncessary and should be removed
  334.73 -     */
  334.74 -
  334.75 -    public String getDecoderSingleByteMappings() {
  334.76 -        return Decoder.byteToCharTable;
  334.77 -
  334.78 -    }
  334.79 -
  334.80 -    public short[] getEncoderIndex1() {
  334.81 -        return Encoder.index1;
  334.82 -
  334.83 -    }
  334.84 -    public String getEncoderIndex2() {
  334.85 -        return Encoder.index2;
  334.86 -
  334.87 -    }
  334.88 -
  334.89 -    private static class Decoder extends SingleByteDecoder {
  334.90 -            public Decoder(Charset cs) {
  334.91 -                super(cs, byteToCharTable);
  334.92 -        }
  334.93 -
  334.94 -        private final static String byteToCharTable =
  334.95 -
  334.96 -            "\u00C4\u00C5\u00C7\u00C9\u00D1\u00D6\u00DC\u00E1" +        // 0x80 - 0x87
  334.97 -            "\u00E0\u00E2\u00E4\u00E3\u00E5\u00E7\u00E9\u00E8" +        // 0x88 - 0x8F
  334.98 -            "\u00EA\u00EB\u00ED\u00EC\u00EE\u00EF\u00F1\u00F3" +        // 0x90 - 0x97
  334.99 -            "\u00F2\u00F4\u00F6\u00F5\u00FA\u00F9\u00FB\u00FC" +        // 0x98 - 0x9F
 334.100 -            "\u2020\u00B0\u00A2\u00A3\u00A7\u2022\u00B6\u00DF" +        // 0xA0 - 0xA7
 334.101 -            "\u00AE\u00A9\u2122\u00B4\u00A8\u2260\u00C6\u00D8" +        // 0xA8 - 0xAF
 334.102 -            "\u221E\u00B1\u2264\u2265\u00A5\u00B5\u2202\u2211" +        // 0xB0 - 0xB7
 334.103 -            "\u220F\u03C0\u222B\u00AA\u00BA\u2126\u00E6\u00F8" +        // 0xB8 - 0xBF
 334.104 -            "\u00BF\u00A1\u00AC\u221A\u0192\u2248\u2206\u00AB" +        // 0xC0 - 0xC7
 334.105 -            "\u00BB\u2026\u00A0\u00C0\u00C3\u00D5\u0152\u0153" +        // 0xC8 - 0xCF
 334.106 -            "\u2013\u2014\u201C\u201D\u2018\u2019\u00F7\u25CA" +        // 0xD0 - 0xD7
 334.107 -            "\u00FF\u0178\u011E\u011F\u0130\u0131\u015E\u015F" +        // 0xD8 - 0xDF
 334.108 -            "\u2021\u00B7\u201A\u201E\u2030\u00C2\u00CA\u00C1" +        // 0xE0 - 0xE7
 334.109 -            "\u00CB\u00C8\u00CD\u00CE\u00CF\u00CC\u00D3\u00D4" +        // 0xE8 - 0xEF
 334.110 -            "\uF8FF\u00D2\u00DA\u00DB\u00D9\uFFFD\u02C6\u02DC" +        // 0xF0 - 0xF7
 334.111 -            "\u00AF\u02D8\u02D9\u02DA\u00B8\u02DD\u02DB\u02C7" +        // 0xF8 - 0xFF
 334.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 334.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 334.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 334.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 334.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 334.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 334.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 334.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 334.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 334.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 334.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 334.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 334.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 334.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 334.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 334.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 334.128 -
 334.129 -    }
 334.130 -
 334.131 -    private static class Encoder extends SingleByteEncoder {
 334.132 -            public Encoder(Charset cs) {
 334.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 334.134 -            }
 334.135 -
 334.136 -            private final static String index2 =
 334.137 -
 334.138 -
 334.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 334.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 334.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 334.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 334.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 334.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 334.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 334.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 334.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 334.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 334.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 334.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 334.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 334.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 334.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 334.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 334.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.159 -            "\u00CA\u00C1\u00A2\u00A3\u0000\u00B4\u0000\u00A4" +
 334.160 -            "\u00AC\u00A9\u00BB\u00C7\u00C2\u0000\u00A8\u00F8" +
 334.161 -            "\u00A1\u00B1\u0000\u0000\u00AB\u00B5\u00A6\u00E1" +
 334.162 -            "\u00FC\u0000\u00BC\u00C8\u0000\u0000\u0000\u00C0" +
 334.163 -            "\u00CB\u00E7\u00E5\u00CC\u0080\u0081\u00AE\u0082" +
 334.164 -            "\u00E9\u0083\u00E6\u00E8\u00ED\u00EA\u00EB\u00EC" +
 334.165 -            "\u0000\u0084\u00F1\u00EE\u00EF\u00CD\u0085\u0000" +
 334.166 -            "\u00AF\u00F4\u00F2\u00F3\u0086\u0000\u0000\u00A7" +
 334.167 -            "\u0088\u0087\u0089\u008B\u008A\u008C\u00BE\u008D" +
 334.168 -            "\u008F\u008E\u0090\u0091\u0093\u0092\u0094\u0095" +
 334.169 -            "\u0000\u0096\u0098\u0097\u0099\u009B\u009A\u00D6" +
 334.170 -            "\u00BF\u009D\u009C\u009E\u009F\u0000\u0000\u00D8" +
 334.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00DA\u00DB" +
 334.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.177 -            "\u00DC\u00DD\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.181 -            "\u0000\u0000\u00CE\u00CF\u0000\u0000\u0000\u0000" +
 334.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00DE\u00DF" +
 334.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.186 -            "\u00D9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.188 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.189 -            "\u0000\u0000\u00C4\u0000\u0000\u0000\u0000\u0000" +
 334.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.220 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.221 -            "\u0000\u0000\u0000\u00F6\u00FF\u0000\u0000\u0000" +
 334.222 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.223 -            "\u0000\u0000\u0000\u0000\u0000\u00F9\u00FA\u00FB" +
 334.224 -            "\u00FE\u00F7\u00FD\u0000\u0000\u0000\u0000\u0000" +
 334.225 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.226 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.227 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.228 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.229 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.230 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.231 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.232 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.238 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.248 -            "\u0000\u0000\u0000\u00B9\u0000\u0000\u0000\u0000" +
 334.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.252 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.253 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.254 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.256 -            "\u0000\u0000\u0000\u00D0\u00D1\u0000\u0000\u0000" +
 334.257 -            "\u00D4\u00D5\u00E2\u0000\u00D2\u00D3\u00E3\u0000" +
 334.258 -            "\u00A0\u00E0\u00A5\u0000\u0000\u0000\u00C9\u0000" +
 334.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.260 -            "\u00E4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.283 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.286 -            "\u00AA\u0000\u0000\u0000\u00BD\u0000\u0000\u0000" +
 334.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.307 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.308 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.309 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.310 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.311 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.312 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.313 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00B6\u0000" +
 334.314 -            "\u0000\u0000\u00C6\u0000\u0000\u0000\u0000\u0000" +
 334.315 -            "\u0000\u0000\u0000\u00B8\u0000\u00B7\u0000\u0000" +
 334.316 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u00C3\u0000" +
 334.317 -            "\u0000\u0000\u00B0\u0000\u0000\u0000\u0000\u0000" +
 334.318 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BA" +
 334.319 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.320 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.321 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.322 -            "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" +
 334.323 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.324 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.325 -            "\u0000\u0000\u0000\u0000\u00AD\u0000\u0000\u0000" +
 334.326 -            "\u00B2\u00B3\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.327 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.328 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.329 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.330 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.331 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.332 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.333 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.334 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.335 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.336 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.337 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.338 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.339 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.340 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.341 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.342 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.343 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.344 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.345 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.346 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.347 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.348 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.349 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.350 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.351 -            "\u0000\u0000\u0000\u0000\u00D7\u0000\u0000\u0000" +
 334.352 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.353 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.354 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.355 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.356 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.357 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.358 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.359 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.360 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.361 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.362 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.363 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.364 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.365 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.366 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.367 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.368 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.369 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.370 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.371 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.372 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.373 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.374 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.375 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.376 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.377 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.378 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.379 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.380 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.381 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.382 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 334.383 -            "\u0000\u0000\u0000\u0000\u00F0";
 334.384 -
 334.385 -    private final static short index1[] = {
 334.386 -            0, 256, 461, 683, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 334.387 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 334.388 -            920, 1142, 1396, 403, 403, 1498, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 334.389 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 334.390 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 334.391 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 334.392 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 334.393 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 334.394 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 334.395 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 334.396 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 334.397 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 334.398 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 334.399 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 334.400 -            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
 334.401 -            403, 403, 403, 403, 403, 403, 403, 403, 1701, 403, 403, 403, 403, 403, 403, 403,
 334.402 -
 334.403 -        };
 334.404 -    }
 334.405 -}
   335.1 --- a/src/share/classes/sun/nio/cs/ext/MacUkraine.java	Wed Jan 14 21:35:03 2009 -0800
   335.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   335.3 @@ -1,361 +0,0 @@
   335.4 -
   335.5 -/*
   335.6 - * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
   335.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   335.8 - *
   335.9 - * This code is free software; you can redistribute it and/or modify it
  335.10 - * under the terms of the GNU General Public License version 2 only, as
  335.11 - * published by the Free Software Foundation.  Sun designates this
  335.12 - * particular file as subject to the "Classpath" exception as provided
  335.13 - * by Sun in the LICENSE file that accompanied this code.
  335.14 - *
  335.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  335.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  335.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  335.18 - * version 2 for more details (a copy is included in the LICENSE file that
  335.19 - * accompanied this code).
  335.20 - *
  335.21 - * You should have received a copy of the GNU General Public License version
  335.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  335.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  335.24 - *
  335.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  335.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  335.27 - * have any questions.
  335.28 - */
  335.29 -
  335.30 -package sun.nio.cs.ext;
  335.31 -
  335.32 -
  335.33 -import java.nio.charset.Charset;
  335.34 -import java.nio.charset.CharsetDecoder;
  335.35 -import java.nio.charset.CharsetEncoder;
  335.36 -import sun.nio.cs.StandardCharsets;
  335.37 -import sun.nio.cs.SingleByteDecoder;
  335.38 -import sun.nio.cs.SingleByteEncoder;
  335.39 -import sun.nio.cs.HistoricallyNamedCharset;
  335.40 -
  335.41 -public class MacUkraine
  335.42 -    extends Charset
  335.43 -    implements HistoricallyNamedCharset
  335.44 -{
  335.45 -
  335.46 -    public MacUkraine() {
  335.47 -        super("x-MacUkraine", ExtendedCharsets.aliasesFor("x-MacUkraine"));
  335.48 -    }
  335.49 -
  335.50 -    public String historicalName() {
  335.51 -        return "MacUkraine";
  335.52 -    }
  335.53 -
  335.54 -    public boolean contains(Charset cs) {
  335.55 -        return (cs instanceof MacUkraine);
  335.56 -    }
  335.57 -
  335.58 -    public CharsetDecoder newDecoder() {
  335.59 -        return new Decoder(this);
  335.60 -    }
  335.61 -
  335.62 -    public CharsetEncoder newEncoder() {
  335.63 -        return new Encoder(this);
  335.64 -    }
  335.65 -
  335.66 -
  335.67 -    /**
  335.68 -     * These accessors are temporarily supplied while sun.io
  335.69 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  335.70 -     * These facilitate sharing of conversion tables between the
  335.71 -     * two co-existing implementations. When sun.io converters
  335.72 -     * are made extinct these will be unncessary and should be removed
  335.73 -     */
  335.74 -
  335.75 -    public String getDecoderSingleByteMappings() {
  335.76 -        return Decoder.byteToCharTable;
  335.77 -
  335.78 -    }
  335.79 -
  335.80 -    public short[] getEncoderIndex1() {
  335.81 -        return Encoder.index1;
  335.82 -
  335.83 -    }
  335.84 -    public String getEncoderIndex2() {
  335.85 -        return Encoder.index2;
  335.86 -
  335.87 -    }
  335.88 -
  335.89 -    private static class Decoder extends SingleByteDecoder {
  335.90 -            public Decoder(Charset cs) {
  335.91 -                super(cs, byteToCharTable);
  335.92 -        }
  335.93 -
  335.94 -        private final static String byteToCharTable =
  335.95 -
  335.96 -            "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417" +        // 0x80 - 0x87
  335.97 -            "\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F" +        // 0x88 - 0x8F
  335.98 -            "\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427" +        // 0x90 - 0x97
  335.99 -            "\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F" +        // 0x98 - 0x9F
 335.100 -            "\u2020\u00B0\u0490\u00A3\u00A7\u2022\u00B6\u0406" +        // 0xA0 - 0xA7
 335.101 -            "\u00AE\u00A9\u2122\u0402\u0452\u2260\u0403\u0453" +        // 0xA8 - 0xAF
 335.102 -            "\u221E\u00B1\u2264\u2265\u0456\u00B5\u0491\u0408" +        // 0xB0 - 0xB7
 335.103 -            "\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A" +        // 0xB8 - 0xBF
 335.104 -            "\u0458\u0405\u00AC\u221A\u0192\u2248\u2206\u00AB" +        // 0xC0 - 0xC7
 335.105 -            "\u00BB\u2026\u00A0\u040B\u045B\u040C\u045C\u0455" +        // 0xC8 - 0xCF
 335.106 -            "\u2013\u2014\u201C\u201D\u2018\u2019\u00F7\u201E" +        // 0xD0 - 0xD7
 335.107 -            "\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F" +        // 0xD8 - 0xDF
 335.108 -            "\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437" +        // 0xE0 - 0xE7
 335.109 -            "\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F" +        // 0xE8 - 0xEF
 335.110 -            "\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447" +        // 0xF0 - 0xF7
 335.111 -            "\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u00A4" +        // 0xF8 - 0xFF
 335.112 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 335.113 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 335.114 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 335.115 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 335.116 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 335.117 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 335.118 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 335.119 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 335.120 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 335.121 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 335.122 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 335.123 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 335.124 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 335.125 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 335.126 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 335.127 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 335.128 -
 335.129 -    }
 335.130 -
 335.131 -    private static class Encoder extends SingleByteEncoder {
 335.132 -            public Encoder(Charset cs) {
 335.133 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 335.134 -            }
 335.135 -
 335.136 -            private final static String index2 =
 335.137 -
 335.138 -
 335.139 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 335.140 -            "\b\t\n\u000B\f\r\u000E\u000F" +
 335.141 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 335.142 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 335.143 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 335.144 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 335.145 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 335.146 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 335.147 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 335.148 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 335.149 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 335.150 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 335.151 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 335.152 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 335.153 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 335.154 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 335.155 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.156 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.157 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.158 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.159 -            "\u00CA\u0000\u0000\u00A3\u00FF\u0000\u0000\u00A4" +
 335.160 -            "\u0000\u00A9\u0000\u00C7\u00C2\u0000\u00A8\u0000" +
 335.161 -            "\u00A1\u00B1\u0000\u0000\u0000\u00B5\u00A6\u0000" +
 335.162 -            "\u0000\u0000\u0000\u00C8\u0000\u0000\u0000\u0000" +
 335.163 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.164 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.165 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.166 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.167 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.168 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.169 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00D6" +
 335.170 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.171 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.172 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.173 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.174 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.175 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.176 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.177 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.178 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.179 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.180 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.181 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.182 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.183 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.184 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.185 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.186 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.187 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.188 -            "\u0000\u0000\u00C4\u0000\u0000\u0000\u0000\u0000" +
 335.189 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.190 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.191 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.192 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.193 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.194 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.195 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.196 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.197 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.198 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.199 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.200 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.201 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.202 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.203 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.204 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.205 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.206 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.207 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.208 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.209 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.210 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.211 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.212 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.213 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.214 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.215 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.216 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.217 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.218 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.219 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.220 -            "\u0000\u0000\u0000\u00DD\u00AB\u00AE\u00B8\u00C1" +
 335.221 -            "\u00A7\u00BA\u00B7\u00BC\u00BE\u00CB\u00CD\u0000" +
 335.222 -            "\u00D8\u00DA\u0080\u0081\u0082\u0083\u0084\u0085" +
 335.223 -            "\u0086\u0087\u0088\u0089\u008A\u008B\u008C\u008D" +
 335.224 -            "\u008E\u008F\u0090\u0091\u0092\u0093\u0094\u0095" +
 335.225 -            "\u0096\u0097\u0098\u0099\u009A\u009B\u009C\u009D" +
 335.226 -            "\u009E\u009F\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5" +
 335.227 -            "\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED" +
 335.228 -            "\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5" +
 335.229 -            "\u00F6\u00F7\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD" +
 335.230 -            "\u00FE\u00DF\u0000\u00DE\u00AC\u00AF\u00B9\u00CF" +
 335.231 -            "\u00B4\u00BB\u00C0\u00BD\u00BF\u00CC\u00CE\u0000" +
 335.232 -            "\u00D9\u00DB\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.233 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.234 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.235 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.236 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.237 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.238 -            "\u0000\u0000\u00A2\u00B6\u0000\u0000\u0000\u0000" +
 335.239 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.240 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.241 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.242 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.243 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.244 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.245 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.246 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.247 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.248 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.249 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.250 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.251 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.252 -            "\u0000\u0000\u00D0\u00D1\u0000\u0000\u0000\u00D4" +
 335.253 -            "\u00D5\u0000\u0000\u00D2\u00D3\u00D7\u0000\u00A0" +
 335.254 -            "\u0000\u00A5\u0000\u0000\u0000\u00C9\u0000\u0000" +
 335.255 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.256 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.257 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.258 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.259 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.260 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.261 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.262 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.263 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.264 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.265 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.266 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.267 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.268 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.269 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.270 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.271 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.272 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.273 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.274 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.275 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.276 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.277 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.278 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.279 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.280 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.281 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DC" +
 335.282 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.283 -            "\u0000\u0000\u0000\u00AA\u0000\u0000\u0000\u0000" +
 335.284 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.285 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.286 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.287 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.288 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.289 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.290 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.291 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.292 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.293 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.294 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.295 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.296 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.297 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.298 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.299 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.300 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.301 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.302 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.303 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.304 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.305 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.306 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.307 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.308 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.309 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.310 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.311 -            "\u0000\u00C6\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.312 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.313 -            "\u0000\u0000\u0000\u0000\u0000\u00C3\u0000\u0000" +
 335.314 -            "\u0000\u00B0\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.315 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.316 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.317 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.318 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.319 -            "\u0000\u0000\u0000\u00C5\u0000\u0000\u0000\u0000" +
 335.320 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.321 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.322 -            "\u0000\u0000\u0000\u00AD\u0000\u0000\u0000\u00B2" +
 335.323 -            "\u00B3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.324 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.325 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.326 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.327 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.328 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.329 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.330 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.331 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.332 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.333 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.334 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.335 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.336 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.337 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.338 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.339 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.340 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.341 -            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 335.342 -            "\u0000\u0000\u0000";
 335.343 -
 335.344 -    private final static short index1[] = {
 335.345 -            0, 248, 395, 395, 650, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 335.346 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 335.347 -            887, 1121, 1371, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 335.348 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 335.349 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 335.350 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 335.351 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 335.352 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 335.353 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 335.354 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 335.355 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 335.356 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 335.357 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 335.358 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 335.359 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 335.360 -            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
 335.361 -
 335.362 -        };
 335.363 -    }
 335.364 -}
   336.1 --- a/src/share/classes/sun/nio/cs/ext/TIS_620.java	Wed Jan 14 21:35:03 2009 -0800
   336.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   336.3 @@ -1,244 +0,0 @@
   336.4 -
   336.5 -/*
   336.6 - * Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
   336.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   336.8 - *
   336.9 - * This code is free software; you can redistribute it and/or modify it
  336.10 - * under the terms of the GNU General Public License version 2 only, as
  336.11 - * published by the Free Software Foundation.  Sun designates this
  336.12 - * particular file as subject to the "Classpath" exception as provided
  336.13 - * by Sun in the LICENSE file that accompanied this code.
  336.14 - *
  336.15 - * This code is distributed in the hope that it will be useful, but WITHOUT
  336.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  336.17 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  336.18 - * version 2 for more details (a copy is included in the LICENSE file that
  336.19 - * accompanied this code).
  336.20 - *
  336.21 - * You should have received a copy of the GNU General Public License version
  336.22 - * 2 along with this work; if not, write to the Free Software Foundation,
  336.23 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  336.24 - *
  336.25 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  336.26 - * CA 95054 USA or visit www.sun.com if you need additional information or
  336.27 - * have any questions.
  336.28 - */
  336.29 -
  336.30 -package sun.nio.cs.ext;
  336.31 -
  336.32 -
  336.33 -import java.nio.ByteBuffer;
  336.34 -import java.nio.CharBuffer;
  336.35 -import java.nio.charset.Charset;
  336.36 -import java.nio.charset.CharsetDecoder;
  336.37 -import java.nio.charset.CharsetEncoder;
  336.38 -import java.nio.charset.CharacterCodingException;
  336.39 -import java.nio.charset.MalformedInputException;
  336.40 -import java.nio.charset.UnmappableCharacterException;
  336.41 -import sun.nio.cs.StandardCharsets;
  336.42 -import sun.nio.cs.SingleByteDecoder;
  336.43 -import sun.nio.cs.SingleByteEncoder;
  336.44 -import sun.nio.cs.HistoricallyNamedCharset;
  336.45 -
  336.46 -public class TIS_620
  336.47 -    extends Charset
  336.48 -    implements HistoricallyNamedCharset
  336.49 -{
  336.50 -
  336.51 -    public TIS_620() {
  336.52 -        super("TIS-620", ExtendedCharsets.aliasesFor("TIS-620"));
  336.53 -    }
  336.54 -
  336.55 -    public String historicalName() {
  336.56 -        return "TIS620";
  336.57 -    }
  336.58 -
  336.59 -    public boolean contains(Charset cs) {
  336.60 -        return ((cs.name().equals("US-ASCII"))
  336.61 -                || (cs instanceof TIS_620));
  336.62 -    }
  336.63 -
  336.64 -    public CharsetDecoder newDecoder() {
  336.65 -        return new Decoder(this);
  336.66 -    }
  336.67 -
  336.68 -    public CharsetEncoder newEncoder() {
  336.69 -        return new Encoder(this);
  336.70 -    }
  336.71 -
  336.72 -
  336.73 -    /**
  336.74 -     * These accessors are temporarily supplied while sun.io
  336.75 -     * converters co-exist with the sun.nio.cs.{ext} charset coders
  336.76 -     * These facilitate sharing of conversion tables between the
  336.77 -     * two co-existing implementations. When sun.io converters
  336.78 -     * are made extinct these will be unncessary and should be removed
  336.79 -     */
  336.80 -
  336.81 -    public String getDecoderSingleByteMappings() {
  336.82 -        return Decoder.byteToCharTable;
  336.83 -
  336.84 -    }
  336.85 -
  336.86 -    public short[] getEncoderIndex1() {
  336.87 -        return Encoder.index1;
  336.88 -
  336.89 -    }
  336.90 -    public String getEncoderIndex2() {
  336.91 -        return Encoder.index2;
  336.92 -
  336.93 -    }
  336.94 -
  336.95 -    private static class Decoder extends SingleByteDecoder {
  336.96 -            public Decoder(Charset cs) {
  336.97 -                super(cs, byteToCharTable);
  336.98 -        }
  336.99 -
 336.100 -        private final static String byteToCharTable =
 336.101 -
 336.102 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x80 - 0x87
 336.103 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x88 - 0x8F
 336.104 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x90 - 0x97
 336.105 -            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x98 - 0x9F
 336.106 -            "\u00A0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07" +        // 0xA0 - 0xA7
 336.107 -            "\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F" +        // 0xA8 - 0xAF
 336.108 -            "\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17" +        // 0xB0 - 0xB7
 336.109 -            "\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F" +        // 0xB8 - 0xBF
 336.110 -            "\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27" +        // 0xC0 - 0xC7
 336.111 -            "\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F" +        // 0xC8 - 0xCF
 336.112 -            "\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37" +        // 0xD0 - 0xD7
 336.113 -            "\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F" +        // 0xD8 - 0xDF
 336.114 -            "\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47" +        // 0xE0 - 0xE7
 336.115 -            "\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F" +        // 0xE8 - 0xEF
 336.116 -            "\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57" +        // 0xF0 - 0xF7
 336.117 -            "\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0xF8 - 0xFF
 336.118 -            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
 336.119 -            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
 336.120 -            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
 336.121 -            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
 336.122 -            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
 336.123 -            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
 336.124 -            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
 336.125 -            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
 336.126 -            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
 336.127 -            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
 336.128 -            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
 336.129 -            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
 336.130 -            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
 336.131 -            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
 336.132 -            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
 336.133 -            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
 336.134 -    }
 336.135 -
 336.136 -    private static class Encoder extends SingleByteEncoder {
 336.137 -            public Encoder(Charset cs) {
 336.138 -                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
 336.139 -            }
 336.140 -
 336.141 -            private final static String index2 =
 336.142 -
 336.143 -                "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
 336.144 -                "\b\t\n\u000B\f\r\u000E\u000F" +
 336.145 -                "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
 336.146 -                "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
 336.147 -                "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
 336.148 -                "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
 336.149 -                "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
 336.150 -                "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
 336.151 -                "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
 336.152 -                "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
 336.153 -                "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
 336.154 -                "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
 336.155 -                "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
 336.156 -                "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
 336.157 -                "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
 336.158 -                "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
 336.159 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.160 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.161 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.162 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.163 -                "\u00A0\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.164 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.165 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.166 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.167 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.168 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.169 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.170 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.171 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.172 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.173 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.174 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.175 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.176 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.177 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.178 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.179 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.180 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.181 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.182 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.183 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.184 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.185 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.186 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.187 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.188 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.189 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.190 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.191 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.192 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.193 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.194 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.195 -                "\u0000\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +
 336.196 -                "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +
 336.197 -                "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
 336.198 -                "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +
 336.199 -                "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
 336.200 -                "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +
 336.201 -                "\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +
 336.202 -                "\u00D8\u00D9\u00DA\u0000\u0000\u0000\u0000\u00DF" +
 336.203 -                "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +
 336.204 -                "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +
 336.205 -                "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
 336.206 -                "\u00F8\u00F9\u00FA\u00FB\u0000\u0000\u0000\u0000" +
 336.207 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.208 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.209 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.210 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.211 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.212 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.213 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.214 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.215 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.216 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.217 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.218 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.219 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.220 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.221 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.222 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.223 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.224 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.225 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
 336.226 -                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 336.227 -
 336.228 -            private final static short index1[] = {
 336.229 -                0, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 416, 161,
 336.230 -                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 336.231 -                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 336.232 -                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 336.233 -                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 336.234 -                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 336.235 -                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 336.236 -                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 336.237 -                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 336.238 -                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 336.239 -                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 336.240 -                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 336.241 -                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 336.242 -                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 336.243 -                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 336.244 -                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
 336.245 -        };
 336.246 -    }
 336.247 -}
   337.1 --- a/src/share/classes/sun/print/PSPathGraphics.java	Wed Jan 14 21:35:03 2009 -0800
   337.2 +++ b/src/share/classes/sun/print/PSPathGraphics.java	Tue Jan 20 09:42:07 2009 -0800
   337.3 @@ -30,7 +30,6 @@
   337.4  import java.awt.Graphics;
   337.5  import java.awt.Graphics2D;
   337.6  import java.awt.Image;
   337.7 -import java.awt.Paint;
   337.8  import java.awt.Shape;
   337.9  import java.awt.Transparency;
  337.10  
   338.1 --- a/src/share/classes/sun/print/PrintJobAttributeException.java	Wed Jan 14 21:35:03 2009 -0800
   338.2 +++ b/src/share/classes/sun/print/PrintJobAttributeException.java	Tue Jan 20 09:42:07 2009 -0800
   338.3 @@ -25,7 +25,6 @@
   338.4  
   338.5  package sun.print;
   338.6  
   338.7 -import javax.print.DocFlavor;
   338.8  import javax.print.AttributeException;
   338.9  import javax.print.PrintException;
  338.10  import javax.print.attribute.Attribute;
   339.1 --- a/src/share/classes/sun/print/SunMinMaxPage.java	Wed Jan 14 21:35:03 2009 -0800
   339.2 +++ b/src/share/classes/sun/print/SunMinMaxPage.java	Tue Jan 20 09:42:07 2009 -0800
   339.3 @@ -25,7 +25,6 @@
   339.4  
   339.5  package sun.print;
   339.6  
   339.7 -import javax.print.attribute.EnumSyntax;
   339.8  import javax.print.attribute.PrintRequestAttribute;
   339.9  
  339.10  /*
   340.1 --- a/src/share/classes/sun/print/SunPageSelection.java	Wed Jan 14 21:35:03 2009 -0800
   340.2 +++ b/src/share/classes/sun/print/SunPageSelection.java	Tue Jan 20 09:42:07 2009 -0800
   340.3 @@ -26,7 +26,6 @@
   340.4  package sun.print;
   340.5  
   340.6  import javax.print.attribute.PrintRequestAttribute;
   340.7 -import javax.print.attribute.standard.Media;
   340.8  
   340.9  /*
  340.10   * A class used to determine the range of pages to be printed.
   341.1 --- a/src/share/classes/sun/security/ssl/CipherBox.java	Wed Jan 14 21:35:03 2009 -0800
   341.2 +++ b/src/share/classes/sun/security/ssl/CipherBox.java	Tue Jan 20 09:42:07 2009 -0800
   341.3 @@ -1,5 +1,5 @@
   341.4  /*
   341.5 - * Copyright 1996-2007 Sun Microsystems, Inc.  All Rights Reserved.
   341.6 + * Copyright 1996-2008 Sun Microsystems, Inc.  All Rights Reserved.
   341.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   341.8   *
   341.9   * This code is free software; you can redistribute it and/or modify it
  341.10 @@ -486,4 +486,21 @@
  341.11  
  341.12          return newlen;
  341.13      }
  341.14 +
  341.15 +    /*
  341.16 +     * Dispose of any intermediate state in the underlying cipher.
  341.17 +     * For PKCS11 ciphers, this will release any attached sessions, and
  341.18 +     * thus make finalization faster.
  341.19 +     */
  341.20 +    void dispose() {
  341.21 +        try {
  341.22 +            if (cipher != null) {
  341.23 +                // ignore return value.
  341.24 +                cipher.doFinal();
  341.25 +            }
  341.26 +        } catch (GeneralSecurityException e) {
  341.27 +            // swallow for now.
  341.28 +        }
  341.29 +    }
  341.30 +
  341.31  }
   342.1 --- a/src/share/classes/sun/security/ssl/SSLEngineImpl.java	Wed Jan 14 21:35:03 2009 -0800
   342.2 +++ b/src/share/classes/sun/security/ssl/SSLEngineImpl.java	Tue Jan 20 09:42:07 2009 -0800
   342.3 @@ -1,5 +1,5 @@
   342.4  /*
   342.5 - * Copyright 2003-2007 Sun Microsystems, Inc.  All Rights Reserved.
   342.6 + * Copyright 2003-2008 Sun Microsystems, Inc.  All Rights Reserved.
   342.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   342.8   *
   342.9   * This code is free software; you can redistribute it and/or modify it
  342.10 @@ -547,6 +547,8 @@
  342.11  
  342.12          // ... create decompressor
  342.13  
  342.14 +        CipherBox oldCipher = readCipher;
  342.15 +
  342.16          try {
  342.17              readCipher = handshaker.newReadCipher();
  342.18              readMAC = handshaker.newReadMAC();
  342.19 @@ -555,6 +557,16 @@
  342.20              throw (SSLException)new SSLException
  342.21                                  ("Algorithm missing:  ").initCause(e);
  342.22          }
  342.23 +
  342.24 +        /*
  342.25 +         * Dispose of any intermediate state in the underlying cipher.
  342.26 +         * For PKCS11 ciphers, this will release any attached sessions,
  342.27 +         * and thus make finalization faster.
  342.28 +         *
  342.29 +         * Since MAC's doFinal() is called for every SSL/TLS packet, it's
  342.30 +         * not necessary to do the same with MAC's.
  342.31 +         */
  342.32 +        oldCipher.dispose();
  342.33      }
  342.34  
  342.35      /*
  342.36 @@ -572,6 +584,8 @@
  342.37  
  342.38          // ... create compressor
  342.39  
  342.40 +        CipherBox oldCipher = writeCipher;
  342.41 +
  342.42          try {
  342.43              writeCipher = handshaker.newWriteCipher();
  342.44              writeMAC = handshaker.newWriteMAC();
  342.45 @@ -580,6 +594,9 @@
  342.46              throw (SSLException)new SSLException
  342.47                                  ("Algorithm missing:  ").initCause(e);
  342.48          }
  342.49 +
  342.50 +        // See comment above.
  342.51 +        oldCipher.dispose();
  342.52      }
  342.53  
  342.54      /*
  342.55 @@ -1231,6 +1248,9 @@
  342.56              break;
  342.57          }
  342.58  
  342.59 +        // See comment in changeReadCiphers()
  342.60 +        writeCipher.dispose();
  342.61 +
  342.62          connectionState = cs_CLOSED;
  342.63      }
  342.64  
  342.65 @@ -1271,6 +1291,10 @@
  342.66  
  342.67          closeOutboundInternal();
  342.68          inboundDone = true;
  342.69 +
  342.70 +        // See comment in changeReadCiphers()
  342.71 +        readCipher.dispose();
  342.72 +
  342.73          connectionState = cs_CLOSED;
  342.74      }
  342.75  
  342.76 @@ -1457,6 +1481,10 @@
  342.77  
  342.78          connectionState = cs_CLOSED;
  342.79  
  342.80 +        // See comment in changeReadCiphers()
  342.81 +        readCipher.dispose();
  342.82 +        writeCipher.dispose();
  342.83 +
  342.84          if (cause instanceof RuntimeException) {
  342.85              throw (RuntimeException)cause;
  342.86          } else {
   343.1 --- a/src/share/classes/sun/security/ssl/SSLSocketImpl.java	Wed Jan 14 21:35:03 2009 -0800
   343.2 +++ b/src/share/classes/sun/security/ssl/SSLSocketImpl.java	Tue Jan 20 09:42:07 2009 -0800
   343.3 @@ -1427,6 +1427,10 @@
   343.4                      waitForClose(false);
   343.5                  }
   343.6  
   343.7 +                // See comment in changeReadCiphers()
   343.8 +                readCipher.dispose();
   343.9 +                writeCipher.dispose();
  343.10 +
  343.11                  // state will be set to cs_CLOSED in the finally block below
  343.12  
  343.13                  break;
  343.14 @@ -1633,6 +1637,11 @@
  343.15           * Clean up our side.
  343.16           */
  343.17          closeSocket();
  343.18 +
  343.19 +        // See comment in changeReadCiphers()
  343.20 +        readCipher.dispose();
  343.21 +        writeCipher.dispose();
  343.22 +
  343.23          connectionState = (oldState == cs_APP_CLOSED) ? cs_APP_CLOSED
  343.24                                                        : cs_CLOSED;
  343.25          throw closeReason;
  343.26 @@ -1763,6 +1772,8 @@
  343.27  
  343.28          // ... create decompressor
  343.29  
  343.30 +        CipherBox oldCipher = readCipher;
  343.31 +
  343.32          try {
  343.33              readCipher = handshaker.newReadCipher();
  343.34              readMAC = handshaker.newReadMAC();
  343.35 @@ -1771,6 +1782,16 @@
  343.36              throw (SSLException)new SSLException
  343.37                                  ("Algorithm missing:  ").initCause(e);
  343.38          }
  343.39 +
  343.40 +        /*
  343.41 +         * Dispose of any intermediate state in the underlying cipher.
  343.42 +         * For PKCS11 ciphers, this will release any attached sessions,
  343.43 +         * and thus make finalization faster.
  343.44 +         *
  343.45 +         * Since MAC's doFinal() is called for every SSL/TLS packet, it's
  343.46 +         * not necessary to do the same with MAC's.
  343.47 +         */
  343.48 +        oldCipher.dispose();
  343.49      }
  343.50  
  343.51      // used by Handshaker
  343.52 @@ -1783,6 +1804,8 @@
  343.53  
  343.54          // ... create compressor
  343.55  
  343.56 +        CipherBox oldCipher = writeCipher;
  343.57 +
  343.58          try {
  343.59              writeCipher = handshaker.newWriteCipher();
  343.60              writeMAC = handshaker.newWriteMAC();
  343.61 @@ -1791,6 +1814,9 @@
  343.62              throw (SSLException)new SSLException
  343.63                                  ("Algorithm missing:  ").initCause(e);
  343.64          }
  343.65 +
  343.66 +        // See comment above.
  343.67 +        oldCipher.dispose();
  343.68      }
  343.69  
  343.70      /*
   344.1 --- a/src/share/classes/sun/swing/SwingUtilities2.java	Wed Jan 14 21:35:03 2009 -0800
   344.2 +++ b/src/share/classes/sun/swing/SwingUtilities2.java	Tue Jan 20 09:42:07 2009 -0800
   344.3 @@ -55,6 +55,7 @@
   344.4  import java.util.*;
   344.5  import sun.font.FontDesignMetrics;
   344.6  import sun.font.FontManager;
   344.7 +import sun.java2d.SunGraphicsEnvironment;
   344.8  
   344.9  import java.util.concurrent.Callable;
  344.10  import java.util.concurrent.Future;
  344.11 @@ -1478,22 +1479,14 @@
  344.12       * appear capable of performing gamma correction needed for LCD text.
  344.13       */
  344.14      public static boolean isLocalDisplay() {
  344.15 -        try {
  344.16 -            // On Windows just return true. Permission to read os.name
  344.17 -            // is granted to all code but wrapped in try to be safe.
  344.18 -            if (OSInfo.getOSType() == OSInfo.OSType.WINDOWS) {
  344.19 -                return true;
  344.20 -            }
  344.21 -            // Else probably Solaris or Linux in which case may be remote X11
  344.22 -            Class<?> x11Class = Class.forName("sun.awt.X11GraphicsEnvironment");
  344.23 -            Method isDisplayLocalMethod = x11Class.getMethod(
  344.24 -                      "isDisplayLocal", new Class[0]);
  344.25 -            return (Boolean)isDisplayLocalMethod.invoke(null, (Object[])null);
  344.26 -        } catch (Throwable t) {
  344.27 +        boolean isLocal;
  344.28 +        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
  344.29 +        if (ge instanceof SunGraphicsEnvironment) {
  344.30 +            isLocal = ((SunGraphicsEnvironment) ge).isDisplayLocal();
  344.31 +        } else {
  344.32 +            isLocal = true;
  344.33          }
  344.34 -        // If we get here we're most likely being run on some other O/S
  344.35 -        // or we didn't properly detect Windows.
  344.36 -        return true;
  344.37 +        return isLocal;
  344.38      }
  344.39  
  344.40      /**
   345.1 --- a/src/share/classes/sun/tools/jar/Main.java	Wed Jan 14 21:35:03 2009 -0800
   345.2 +++ b/src/share/classes/sun/tools/jar/Main.java	Tue Jan 20 09:42:07 2009 -0800
   345.3 @@ -46,9 +46,18 @@
   345.4      String zname = "";
   345.5      String[] files;
   345.6      String rootjar = null;
   345.7 -    Hashtable filesTable = new Hashtable();
   345.8 -    Vector paths = new Vector();
   345.9 -    Vector v;
  345.10 +
  345.11 +    // An entryName(path)->File map generated during "expand", it helps to
  345.12 +    // decide whether or not an existing entry in a jar file needs to be
  345.13 +    // replaced, during the "update" operation.
  345.14 +    Map<String, File> entryMap = new HashMap<String, File>();
  345.15 +
  345.16 +    // All files need to be added/updated.
  345.17 +    Set<File> entries = new LinkedHashSet<File>();
  345.18 +
  345.19 +    // Directories specified by "-C" operation.
  345.20 +    List<String> paths = new ArrayList<String>();
  345.21 +
  345.22      CRC32 crc32 = new CRC32();
  345.23      /*
  345.24       * cflag: create
  345.25 @@ -175,7 +184,8 @@
  345.26                          vflag = false;
  345.27                      }
  345.28                  }
  345.29 -                create(new BufferedOutputStream(out), expand(files), manifest);
  345.30 +                expand(null, files, false);
  345.31 +                create(new BufferedOutputStream(out, 4096), manifest);
  345.32                  if (in != null) {
  345.33                      in.close();
  345.34                  }
  345.35 @@ -198,8 +208,8 @@
  345.36                  }
  345.37                  InputStream manifest = (!Mflag && (mname != null)) ?
  345.38                      (new FileInputStream(mname)) : null;
  345.39 -                expand(files);
  345.40 -                boolean updateOk = update(in, new BufferedOutputStream(out), manifest);
  345.41 +                expand(null, files, true);
  345.42 +                boolean updateOk = update(in, new BufferedOutputStream(out), manifest, null);
  345.43                  if (ok) {
  345.44                      ok = updateOk;
  345.45                  }
  345.46 @@ -354,7 +364,7 @@
  345.47                          while (dir.indexOf("//") > -1) {
  345.48                              dir = dir.replace("//", "/");
  345.49                          }
  345.50 -                        paths.addElement(dir.replace(File.separatorChar, '/'));
  345.51 +                        paths.add(dir.replace(File.separatorChar, '/'));
  345.52                          nameBuf[k++] = dir + args[++i];
  345.53                      } else {
  345.54                          nameBuf[k++] = args[i];
  345.55 @@ -387,17 +397,7 @@
  345.56       * Expands list of files to process into full list of all files that
  345.57       * can be found by recursively descending directories.
  345.58       */
  345.59 -    String[] expand(String[] files) {
  345.60 -        v = new Vector();
  345.61 -        expand(null, files, v, filesTable);
  345.62 -        files = new String[v.size()];
  345.63 -        for (int i = 0; i < files.length; i++) {
  345.64 -            files[i] = ((File)v.elementAt(i)).getPath();
  345.65 -        }
  345.66 -        return files;
  345.67 -    }
  345.68 -
  345.69 -    void expand(File dir, String[] files, Vector v, Hashtable t) {
  345.70 +    void expand(File dir, String[] files, boolean isUpdate) {
  345.71          if (files == null) {
  345.72              return;
  345.73          }
  345.74 @@ -409,17 +409,20 @@
  345.75                  f = new File(dir, files[i]);
  345.76              }
  345.77              if (f.isFile()) {
  345.78 -                if (!t.contains(f)) {
  345.79 -                    t.put(entryName(f.getPath()), f);
  345.80 -                    v.addElement(f);
  345.81 +                if (entries.add(f)) {
  345.82 +                    if (isUpdate)
  345.83 +                        entryMap.put(entryName(f.getPath()), f);
  345.84                  }
  345.85              } else if (f.isDirectory()) {
  345.86 -                String dirPath = f.getPath();
  345.87 -                dirPath = (dirPath.endsWith(File.separator)) ? dirPath :
  345.88 -                    (dirPath + File.separator);
  345.89 -                t.put(entryName(dirPath), f);
  345.90 -                v.addElement(f);
  345.91 -                expand(f, f.list(), v, t);
  345.92 +                if (entries.add(f)) {
  345.93 +                    if (isUpdate) {
  345.94 +                        String dirPath = f.getPath();
  345.95 +                        dirPath = (dirPath.endsWith(File.separator)) ? dirPath :
  345.96 +                            (dirPath + File.separator);
  345.97 +                        entryMap.put(entryName(dirPath), f);
  345.98 +                    }
  345.99 +                    expand(f, f.list(), isUpdate);
 345.100 +                }
 345.101              } else {
 345.102                  error(formatMsg("error.nosuch.fileordir", String.valueOf(f)));
 345.103                  ok = false;
 345.104 @@ -430,7 +433,7 @@
 345.105      /*
 345.106       * Creates a new JAR file.
 345.107       */
 345.108 -    void create(OutputStream out, String[] files, Manifest manifest)
 345.109 +    void create(OutputStream out, Manifest manifest)
 345.110          throws IOException
 345.111      {
 345.112          ZipOutputStream zos = new JarOutputStream(out);
 345.113 @@ -455,8 +458,8 @@
 345.114              manifest.write(zos);
 345.115              zos.closeEntry();
 345.116          }
 345.117 -        for (int i = 0; i < files.length; i++) {
 345.118 -            addFile(zos, new File(files[i]));
 345.119 +        for (File file: entries) {
 345.120 +            addFile(zos, file);
 345.121          }
 345.122          zos.close();
 345.123      }
 345.124 @@ -465,10 +468,9 @@
 345.125       * update an existing jar file.
 345.126       */
 345.127      boolean update(InputStream in, OutputStream out,
 345.128 -                InputStream newManifest) throws IOException
 345.129 +                   InputStream newManifest,
 345.130 +                   JarIndex jarIndex) throws IOException
 345.131      {
 345.132 -        Hashtable t = filesTable;
 345.133 -        Vector v = this.v;
 345.134          ZipInputStream zis = new ZipInputStream(in);
 345.135          ZipOutputStream zos = new JarOutputStream(out);
 345.136          ZipEntry e = null;
 345.137 @@ -477,8 +479,8 @@
 345.138          int n = 0;
 345.139          boolean updateOk = true;
 345.140  
 345.141 -        if (t.containsKey(INDEX)) {
 345.142 -            addIndex((JarIndex)t.get(INDEX), zos);
 345.143 +        if (jarIndex != null) {
 345.144 +            addIndex(jarIndex, zos);
 345.145          }
 345.146  
 345.147          // put the old entries first, replace if necessary
 345.148 @@ -488,9 +490,8 @@
 345.149              boolean isManifestEntry = name.toUpperCase(
 345.150                                              java.util.Locale.ENGLISH).
 345.151                                          equals(MANIFEST);
 345.152 -            if ((name.toUpperCase().equals(INDEX)
 345.153 -                    && t.containsKey(INDEX))
 345.154 -                    || (Mflag && isManifestEntry)) {
 345.155 +            if ((name.toUpperCase().equals(INDEX) && jarIndex != null)
 345.156 +                || (Mflag && isManifestEntry)) {
 345.157                  continue;
 345.158              } else if (isManifestEntry && ((newManifest != null) ||
 345.159                          (ename != null))) {
 345.160 @@ -514,8 +515,7 @@
 345.161                  }
 345.162                  updateManifest(old, zos);
 345.163              } else {
 345.164 -                if (!t.containsKey(name)) { // copy the old stuff
 345.165 -
 345.166 +                if (!entryMap.containsKey(name)) { // copy the old stuff
 345.167                      // do our own compression
 345.168                      ZipEntry e2 = new ZipEntry(name);
 345.169                      e2.setMethod(e.getMethod());
 345.170 @@ -531,21 +531,17 @@
 345.171                          zos.write(buf, 0, n);
 345.172                      }
 345.173                  } else { // replace with the new files
 345.174 -                    addFile(zos, (File)(t.get(name)));
 345.175 -                    t.remove(name);
 345.176 +                    File f = entryMap.get(name);
 345.177 +                    addFile(zos, f);
 345.178 +                    entryMap.remove(name);
 345.179 +                    entries.remove(f);
 345.180                  }
 345.181              }
 345.182          }
 345.183 -        t.remove(INDEX);
 345.184  
 345.185          // add the remaining new files
 345.186 -        if (!t.isEmpty()) {
 345.187 -            for (int i = 0; i < v.size(); i++) {
 345.188 -                File f = (File)v.elementAt(i);
 345.189 -                if (t.containsValue(f)) {
 345.190 -                    addFile(zos, f);
 345.191 -                }
 345.192 -            }
 345.193 +        for (File f: entries) {
 345.194 +            addFile(zos, f);
 345.195          }
 345.196          if (!foundManifest) {
 345.197              if (newManifest != null) {
 345.198 @@ -611,8 +607,7 @@
 345.199      private String entryName(String name) {
 345.200          name = name.replace(File.separatorChar, '/');
 345.201          String matchPath = "";
 345.202 -        for (int i = 0; i < paths.size(); i++) {
 345.203 -            String path = (String)paths.elementAt(i);
 345.204 +        for (String path : paths) {
 345.205              if (name.startsWith(path) && (path.length() > matchPath.length())) {
 345.206                  matchPath = path;
 345.207              }
 345.208 @@ -669,7 +664,6 @@
 345.209      void addFile(ZipOutputStream zos, File file) throws IOException {
 345.210          String name = file.getPath();
 345.211          boolean isDir = file.isDirectory();
 345.212 -
 345.213          if (isDir) {
 345.214              name = name.endsWith(File.separator) ? name :
 345.215                  (name + File.separator);
 345.216 @@ -704,7 +698,7 @@
 345.217          }
 345.218          zos.putNextEntry(e);
 345.219          if (!isDir) {
 345.220 -            byte[] buf = new byte[1024];
 345.221 +            byte[] buf = new byte[8192];
 345.222              int len;
 345.223              InputStream is = new BufferedInputStream(new FileInputStream(file));
 345.224              while ((len = is.read(buf, 0, buf.length)) != -1) {
 345.225 @@ -749,7 +743,7 @@
 345.226       */
 345.227      private void crc32File(ZipEntry e, File f) throws IOException {
 345.228          InputStream is = new BufferedInputStream(new FileInputStream(f));
 345.229 -        byte[] buf = new byte[1024];
 345.230 +        byte[] buf = new byte[8192];
 345.231          crc32.reset();
 345.232          int r = 0;
 345.233          int nread = 0;
 345.234 @@ -772,7 +766,7 @@
 345.235      void extract(InputStream in, String files[]) throws IOException {
 345.236          ZipInputStream zis = new ZipInputStream(in);
 345.237          ZipEntry e;
 345.238 -        // Set of all directory entries specified in archive.  Dissallows
 345.239 +        // Set of all directory entries specified in archive.  Disallows
 345.240          // null entries.  Disallows all entries if using pre-6.0 behavior.
 345.241          Set<ZipEntry> dirs = new HashSet<ZipEntry>() {
 345.242              public boolean add(ZipEntry e) {
 345.243 @@ -897,17 +891,16 @@
 345.244          }
 345.245      }
 345.246  
 345.247 -
 345.248      /**
 345.249       * Output the class index table to the INDEX.LIST file of the
 345.250       * root jar file.
 345.251       */
 345.252      void dumpIndex(String rootjar, JarIndex index) throws IOException {
 345.253 -        filesTable.put(INDEX, index);
 345.254          File scratchFile = File.createTempFile("scratch", null, new File("."));
 345.255          File jarFile = new File(rootjar);
 345.256          boolean updateOk = update(new FileInputStream(jarFile),
 345.257 -                new FileOutputStream(scratchFile), null);
 345.258 +                                  new FileOutputStream(scratchFile),
 345.259 +                                  null, index);
 345.260          jarFile.delete();
 345.261          if (!scratchFile.renameTo(jarFile)) {
 345.262              scratchFile.delete();
   346.1 --- a/src/share/demo/java2d/J2DBench/src/j2dbench/tests/ImageTests.java	Wed Jan 14 21:35:03 2009 -0800
   346.2 +++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/ImageTests.java	Tue Jan 20 09:42:07 2009 -0800
   346.3 @@ -60,6 +60,9 @@
   346.4  import java.awt.image.WritableRaster;
   346.5  import java.awt.Transparency;
   346.6  import java.awt.geom.AffineTransform;
   346.7 +import java.awt.image.DataBufferByte;
   346.8 +import java.awt.image.DataBufferInt;
   346.9 +import java.awt.image.DataBufferShort;
  346.10  import java.util.ArrayList;
  346.11  import javax.swing.JComponent;
  346.12  
  346.13 @@ -84,6 +87,7 @@
  346.14      static Group.EnableSet bufimgsrcroot;
  346.15  
  346.16      static Group imgtestroot;
  346.17 +    static Group imgoptionsroot;
  346.18  
  346.19      static Group imageOpRoot;
  346.20      static Group imageOpOptRoot;
  346.21 @@ -92,6 +96,7 @@
  346.22      static Group bufImgOpTestRoot;
  346.23      static Group rasterOpTestRoot;
  346.24      static Option opList;
  346.25 +    static Option doTouchSrc;
  346.26  
  346.27      static String transNodeNames[] = {
  346.28          null, "opaque", "bitmask", "translucent",
  346.29 @@ -105,9 +110,19 @@
  346.30          imageroot = new Group(graphicsroot, "imaging",
  346.31                                "Imaging Benchmarks");
  346.32          imageroot.setTabbed();
  346.33 +
  346.34          imgsrcroot = new Group.EnableSet(imageroot, "src",
  346.35                                           "Image Rendering Sources");
  346.36          imgsrcroot.setBordered(true);
  346.37 +
  346.38 +        imgoptionsroot = new Group(imgsrcroot, "options",
  346.39 +                                "Image Source Options");
  346.40 +        imgoptionsroot.setBordered(true);
  346.41 +        doTouchSrc =
  346.42 +            new Option.Toggle(imgoptionsroot, "touchsrc",
  346.43 +                              "Touch src image before every operation",
  346.44 +                               Option.Toggle.Off);
  346.45 +
  346.46          imgtestroot = new Group(imageroot, "tests",
  346.47                                  "Image Rendering Tests");
  346.48          imgtestroot.setBordered(true);
  346.49 @@ -131,7 +146,11 @@
  346.50              new BufImg(BufferedImage.TYPE_INT_RGB);
  346.51              new BufImg(BufferedImage.TYPE_INT_ARGB);
  346.52              new BufImg(BufferedImage.TYPE_BYTE_GRAY);
  346.53 +            new BufImg(BufferedImage.TYPE_3BYTE_BGR);
  346.54              new BmByteIndexBufImg();
  346.55 +            new BufImg(BufferedImage.TYPE_INT_RGB, true);
  346.56 +            new BufImg(BufferedImage.TYPE_INT_ARGB, true);
  346.57 +            new BufImg(BufferedImage.TYPE_3BYTE_BGR, true);
  346.58  
  346.59              imageOpRoot = new Group(imageroot, "imageops",
  346.60                                      "Image Op Benchmarks");
  346.61 @@ -193,6 +212,7 @@
  346.62      }
  346.63  
  346.64      public static class Context extends GraphicsTests.Context {
  346.65 +        boolean touchSrc;
  346.66          Image src;
  346.67          AffineTransform tx;
  346.68      }
  346.69 @@ -206,6 +226,7 @@
  346.70      {
  346.71          super(parent, nodeName, description);
  346.72          addDependency(imgsrcroot, srcFilter);
  346.73 +        addDependency(doTouchSrc);
  346.74      }
  346.75  
  346.76      public GraphicsTests.Context createContext() {
  346.77 @@ -217,6 +238,7 @@
  346.78          ImageTests.Context ictx = (ImageTests.Context) ctx;
  346.79  
  346.80          ictx.src = env.getSrcImage();
  346.81 +        ictx.touchSrc = env.isEnabled(doTouchSrc);
  346.82      }
  346.83  
  346.84      public abstract static class TriStateImageType extends Group {
  346.85 @@ -272,13 +294,6 @@
  346.86      public static class CompatImg extends TriStateImageType {
  346.87          int transparency;
  346.88  
  346.89 -        public static String Descriptions[] = {
  346.90 -            "Default Compatible Image",
  346.91 -            "Opaque Compatible Image",
  346.92 -            "Bitmask Compatible Image",
  346.93 -            "Translucent Compatible Image",
  346.94 -        };
  346.95 -
  346.96          public CompatImg(int transparency) {
  346.97              super(imgsrcroot,
  346.98                    Destinations.CompatImg.ShortNames[transparency],
  346.99 @@ -296,6 +311,7 @@
 346.100  
 346.101      public static class BufImg extends TriStateImageType {
 346.102          int type;
 346.103 +        boolean unmanaged;
 346.104  
 346.105          static int Transparencies[] = {
 346.106              Transparency.TRANSLUCENT, // "custom",
 346.107 @@ -315,15 +331,37 @@
 346.108          };
 346.109  
 346.110          public BufImg(int type) {
 346.111 +            this(type, false);
 346.112 +        }
 346.113 +
 346.114 +        public BufImg(int type, boolean unmanaged) {
 346.115              super(bufimgsrcroot,
 346.116 +                  (unmanaged ? "unmanaged" : "") +
 346.117                    Destinations.BufImg.ShortNames[type],
 346.118 +                  (unmanaged ? "Unmanaged " : "") +
 346.119                    Destinations.BufImg.Descriptions[type],
 346.120                    Transparencies[type]);
 346.121              this.type = type;
 346.122 +            this.unmanaged = unmanaged;
 346.123          }
 346.124  
 346.125          public Image makeImage(TestEnvironment env, int w, int h) {
 346.126 -            return new BufferedImage(w, h, type);
 346.127 +            BufferedImage img = new BufferedImage(w, h, type);
 346.128 +            if (unmanaged) {
 346.129 +                DataBuffer db = img.getRaster().getDataBuffer();
 346.130 +                if (db instanceof DataBufferInt) {
 346.131 +                    ((DataBufferInt)db).getData();
 346.132 +                } else if (db instanceof DataBufferShort) {
 346.133 +                    ((DataBufferShort)db).getData();
 346.134 +                } else if (db instanceof DataBufferByte) {
 346.135 +                    ((DataBufferByte)db).getData();
 346.136 +                } else {
 346.137 +                    try {
 346.138 +                        img.setAccelerationPriority(0.0f);
 346.139 +                    } catch (Throwable e) {}
 346.140 +                }
 346.141 +            }
 346.142 +            return img;
 346.143          }
 346.144      }
 346.145  
 346.146 @@ -471,15 +509,33 @@
 346.147              g.translate(ictx.orgX, ictx.orgY);
 346.148              Image src = ictx.src;
 346.149              if (ictx.animate) {
 346.150 -                do {
 346.151 -                    g.drawImage(src, x, y, null);
 346.152 -                    if ((x -= 3) < 0) x += ictx.maxX;
 346.153 -                    if ((y -= 1) < 0) y += ictx.maxY;
 346.154 -                } while (--numReps > 0);
 346.155 +                if (ictx.touchSrc) {
 346.156 +                    Graphics srcG = src.getGraphics();
 346.157 +                    do {
 346.158 +                        srcG.fillRect(0, 0, 1, 1);
 346.159 +                        g.drawImage(src, x, y, null);
 346.160 +                        if ((x -= 3) < 0) x += ictx.maxX;
 346.161 +                        if ((y -= 1) < 0) y += ictx.maxY;
 346.162 +                    } while (--numReps > 0);
 346.163 +                } else {
 346.164 +                    do {
 346.165 +                        g.drawImage(src, x, y, null);
 346.166 +                        if ((x -= 3) < 0) x += ictx.maxX;
 346.167 +                        if ((y -= 1) < 0) y += ictx.maxY;
 346.168 +                    } while (--numReps > 0);
 346.169 +                }
 346.170              } else {
 346.171 -                do {
 346.172 -                    g.drawImage(src, x, y, null);
 346.173 -                } while (--numReps > 0);
 346.174 +                if (ictx.touchSrc) {
 346.175 +                    Graphics srcG = src.getGraphics();
 346.176 +                    do {
 346.177 +                        srcG.fillRect(0, 0, 1, 1);
 346.178 +                        g.drawImage(src, x, y, null);
 346.179 +                    } while (--numReps > 0);
 346.180 +                } else {
 346.181 +                    do {
 346.182 +                        g.drawImage(src, x, y, null);
 346.183 +                    } while (--numReps > 0);
 346.184 +                }
 346.185              }
 346.186              g.translate(-ictx.orgX, -ictx.orgY);
 346.187          }
 346.188 @@ -505,15 +561,33 @@
 346.189              Image src = ictx.src;
 346.190              Color bg = Color.orange;
 346.191              if (ictx.animate) {
 346.192 -                do {
 346.193 -                    g.drawImage(src, x, y, bg, null);
 346.194 -                    if ((x -= 3) < 0) x += ictx.maxX;
 346.195 -                    if ((y -= 1) < 0) y += ictx.maxY;
 346.196 -                } while (--numReps > 0);
 346.197 +                if (ictx.touchSrc) {
 346.198 +                    Graphics srcG = src.getGraphics();
 346.199 +                    do {
 346.200 +                        srcG.fillRect(0, 0, 1, 1);
 346.201 +                        g.drawImage(src, x, y, bg, null);
 346.202 +                        if ((x -= 3) < 0) x += ictx.maxX;
 346.203 +                        if ((y -= 1) < 0) y += ictx.maxY;
 346.204 +                    } while (--numReps > 0);
 346.205 +                } else {
 346.206 +                    do {
 346.207 +                        g.drawImage(src, x, y, bg, null);
 346.208 +                        if ((x -= 3) < 0) x += ictx.maxX;
 346.209 +                        if ((y -= 1) < 0) y += ictx.maxY;
 346.210 +                    } while (--numReps > 0);
 346.211 +                }
 346.212              } else {
 346.213 -                do {
 346.214 -                    g.drawImage(src, x, y, bg, null);
 346.215 -                } while (--numReps > 0);
 346.216 +                if (ictx.touchSrc) {
 346.217 +                    Graphics srcG = src.getGraphics();
 346.218 +                    do {
 346.219 +                        srcG.fillRect(0, 0, 1, 1);
 346.220 +                        g.drawImage(src, x, y, bg, null);
 346.221 +                    } while (--numReps > 0);
 346.222 +                } else {
 346.223 +                    do {
 346.224 +                        g.drawImage(src, x, y, bg, null);
 346.225 +                    } while (--numReps > 0);
 346.226 +                }
 346.227              }
 346.228              g.translate(-ictx.orgX, -ictx.orgY);
 346.229          }
 346.230 @@ -524,7 +598,7 @@
 346.231  
 346.232          public DrawImageScale(String dir, float scale) {
 346.233              super(imgtestroot, "drawimagescale"+dir,
 346.234 -                  "drawImage(img, x, y, w*"+scale+", h*"+scale+", obs);");
 346.235 +                               "drawImage(img, x, y, w*"+scale+", h*"+scale+", obs);");
 346.236              this.scale = scale;
 346.237          }
 346.238  
 346.239 @@ -546,15 +620,33 @@
 346.240              g.translate(ictx.orgX, ictx.orgY);
 346.241              Image src = ictx.src;
 346.242              if (ictx.animate) {
 346.243 -                do {
 346.244 -                    g.drawImage(src, x, y, w, h, null);
 346.245 -                    if ((x -= 3) < 0) x += ictx.maxX;
 346.246 -                    if ((y -= 1) < 0) y += ictx.maxY;
 346.247 -                } while (--numReps > 0);
 346.248 +                if (ictx.touchSrc) {
 346.249 +                    Graphics srcG = src.getGraphics();
 346.250 +                    do {
 346.251 +                        srcG.fillRect(0, 0, 1, 1);
 346.252 +                        g.drawImage(src, x, y, w, h, null);
 346.253 +                        if ((x -= 3) < 0) x += ictx.maxX;
 346.254 +                        if ((y -= 1) < 0) y += ictx.maxY;
 346.255 +                    } while (--numReps > 0);
 346.256 +                } else {
 346.257 +                    do {
 346.258 +                        g.drawImage(src, x, y, w, h, null);
 346.259 +                        if ((x -= 3) < 0) x += ictx.maxX;
 346.260 +                        if ((y -= 1) < 0) y += ictx.maxY;
 346.261 +                    } while (--numReps > 0);
 346.262 +                }
 346.263              } else {
 346.264 -                do {
 346.265 -                    g.drawImage(src, x, y, w, h, null);
 346.266 -                } while (--numReps > 0);
 346.267 +                Graphics srcG = src.getGraphics();
 346.268 +                if (ictx.touchSrc) {
 346.269 +                    do {
 346.270 +                        srcG.fillRect(0, 0, 1, 1);
 346.271 +                        g.drawImage(src, x, y, w, h, null);
 346.272 +                    } while (--numReps > 0);
 346.273 +                } else {
 346.274 +                    do {
 346.275 +                        g.drawImage(src, x, y, w, h, null);
 346.276 +                    } while (--numReps > 0);
 346.277 +                }
 346.278              }
 346.279              g.translate(-ictx.orgX, -ictx.orgY);
 346.280          }
 346.281 @@ -588,17 +680,36 @@
 346.282              Image src = ictx.src;
 346.283              AffineTransform tx = ictx.tx;
 346.284              if (ictx.animate) {
 346.285 -                do {
 346.286 -                    tx.setTransform(1.0, 0.1, 0.1, 1.0, x, y);
 346.287 -                    g.drawImage(src, tx, null);
 346.288 -                    if ((x -= 3) < 0) x += ictx.maxX;
 346.289 -                    if ((y -= 1) < 0) y += ictx.maxY;
 346.290 -                } while (--numReps > 0);
 346.291 +                if (ictx.touchSrc) {
 346.292 +                    Graphics srcG = src.getGraphics();
 346.293 +                    do {
 346.294 +                        tx.setTransform(1.0, 0.1, 0.1, 1.0, x, y);
 346.295 +                        srcG.fillRect(0, 0, 1, 1);
 346.296 +                        g.drawImage(src, tx, null);
 346.297 +                        if ((x -= 3) < 0) x += ictx.maxX;
 346.298 +                        if ((y -= 1) < 0) y += ictx.maxY;
 346.299 +                    } while (--numReps > 0);
 346.300 +                } else {
 346.301 +                    do {
 346.302 +                        tx.setTransform(1.0, 0.1, 0.1, 1.0, x, y);
 346.303 +                        g.drawImage(src, tx, null);
 346.304 +                        if ((x -= 3) < 0) x += ictx.maxX;
 346.305 +                        if ((y -= 1) < 0) y += ictx.maxY;
 346.306 +                    } while (--numReps > 0);
 346.307 +                }
 346.308              } else {
 346.309                  tx.setTransform(1.0, 0.1, 0.1, 1.0, x, y);
 346.310 -                do {
 346.311 -                    g.drawImage(src, tx, null);
 346.312 -                } while (--numReps > 0);
 346.313 +                if (ictx.touchSrc) {
 346.314 +                    Graphics srcG = src.getGraphics();
 346.315 +                    do {
 346.316 +                        srcG.fillRect(0, 0, 1, 1);
 346.317 +                        g.drawImage(src, tx, null);
 346.318 +                    } while (--numReps > 0);
 346.319 +                } else {
 346.320 +                    do {
 346.321 +                        g.drawImage(src, tx, null);
 346.322 +                    } while (--numReps > 0);
 346.323 +                }
 346.324              }
 346.325              g.translate(-ictx.orgX, -ictx.orgY);
 346.326          }
 346.327 @@ -736,15 +847,33 @@
 346.328              Graphics2D g2 = (Graphics2D)ictx.graphics;
 346.329              g2.translate(ictx.orgX, ictx.orgY);
 346.330              if (ictx.animate) {
 346.331 -                do {
 346.332 -                    g2.drawImage(src, op, x, y);
 346.333 -                    if ((x -= 3) < 0) x += ictx.maxX;
 346.334 -                    if ((y -= 1) < 0) y += ictx.maxY;
 346.335 -                } while (--numReps > 0);
 346.336 +                if (ictx.touchSrc) {
 346.337 +                    Graphics gSrc = src.getGraphics();
 346.338 +                    do {
 346.339 +                        gSrc.fillRect(0, 0, 1, 1);
 346.340 +                        g2.drawImage(src, op, x, y);
 346.341 +                        if ((x -= 3) < 0) x += ictx.maxX;
 346.342 +                        if ((y -= 1) < 0) y += ictx.maxY;
 346.343 +                    } while (--numReps > 0);
 346.344 +                } else {
 346.345 +                    do {
 346.346 +                        g2.drawImage(src, op, x, y);
 346.347 +                        if ((x -= 3) < 0) x += ictx.maxX;
 346.348 +                        if ((y -= 1) < 0) y += ictx.maxY;
 346.349 +                    } while (--numReps > 0);
 346.350 +                }
 346.351              } else {
 346.352 -                do {
 346.353 -                    g2.drawImage(src, op, x, y);
 346.354 -                } while (--numReps > 0);
 346.355 +                if (ictx.touchSrc) {
 346.356 +                    Graphics gSrc = src.getGraphics();
 346.357 +                    do {
 346.358 +                        gSrc.fillRect(0, 0, 1, 1);
 346.359 +                        g2.drawImage(src, op, x, y);
 346.360 +                    } while (--numReps > 0);
 346.361 +                } else {
 346.362 +                    do {
 346.363 +                        g2.drawImage(src, op, x, y);
 346.364 +                    } while (--numReps > 0);
 346.365 +                }
 346.366              }
 346.367              g2.translate(-ictx.orgX, -ictx.orgY);
 346.368          }
 346.369 @@ -778,9 +907,17 @@
 346.370              BufferedImageOp op = ictx.bufImgOp;
 346.371              BufferedImage src = ictx.bufSrc;
 346.372              BufferedImage dst = ictx.bufDst;
 346.373 -            do {
 346.374 -                op.filter(src, dst);
 346.375 -            } while (--numReps > 0);
 346.376 +            if (ictx.touchSrc) {
 346.377 +                Graphics gSrc = src.getGraphics();
 346.378 +                do {
 346.379 +                    gSrc.fillRect(0, 0, 1, 1);
 346.380 +                    op.filter(src, dst);
 346.381 +                } while (--numReps > 0);
 346.382 +            } else {
 346.383 +                do {
 346.384 +                    op.filter(src, dst);
 346.385 +                } while (--numReps > 0);
 346.386 +            }
 346.387          }
 346.388      }
 346.389  
 346.390 @@ -814,9 +951,17 @@
 346.391              RasterOp op = ictx.rasterOp;
 346.392              Raster src = ictx.rasSrc;
 346.393              WritableRaster dst = ictx.rasDst;
 346.394 -            do {
 346.395 -                op.filter(src, dst);
 346.396 -            } while (--numReps > 0);
 346.397 +            if (ictx.touchSrc) {
 346.398 +                Graphics gSrc = ictx.bufSrc.getGraphics();
 346.399 +                do {
 346.400 +                    gSrc.fillRect(0, 0, 1, 1);
 346.401 +                    op.filter(src, dst);
 346.402 +                } while (--numReps > 0);
 346.403 +            } else {
 346.404 +                do {
 346.405 +                    op.filter(src, dst);
 346.406 +                } while (--numReps > 0);
 346.407 +            }
 346.408          }
 346.409      }
 346.410  }
   347.1 --- a/src/share/native/java/io/io_util.c	Wed Jan 14 21:35:03 2009 -0800
   347.2 +++ b/src/share/native/java/io/io_util.c	Tue Jan 20 09:42:07 2009 -0800
   347.3 @@ -25,6 +25,7 @@
   347.4  
   347.5  #include <stdlib.h>
   347.6  #include <string.h>
   347.7 +#include <stddef.h>
   347.8  
   347.9  #include "jni.h"
  347.10  #include "jni_util.h"
  347.11 @@ -34,9 +35,9 @@
  347.12  
  347.13  /* IO helper functions */
  347.14  
  347.15 -int
  347.16 +jint
  347.17  readSingle(JNIEnv *env, jobject this, jfieldID fid) {
  347.18 -    int nread;
  347.19 +    jint nread;
  347.20      char ret;
  347.21      FD fd = GET_FD(this, fid);
  347.22      if (fd == -1) {
  347.23 @@ -49,7 +50,7 @@
  347.24      } else if (nread == JVM_IO_ERR) { /* error */
  347.25          JNU_ThrowIOExceptionWithLastError(env, "Read error");
  347.26      } else if (nread == JVM_IO_INTR) {
  347.27 -        JNU_ThrowByName(env, "java/io/InterruptedIOException", 0);
  347.28 +        JNU_ThrowByName(env, "java/io/InterruptedIOException", NULL);
  347.29      }
  347.30      return ret & 0xFF;
  347.31  }
  347.32 @@ -58,25 +59,35 @@
  347.33   */
  347.34  #define BUF_SIZE 8192
  347.35  
  347.36 +/*
  347.37 + * Returns true if the array slice defined by the given offset and length
  347.38 + * is out of bounds.
  347.39 + */
  347.40 +static int
  347.41 +outOfBounds(JNIEnv *env, jint off, jint len, jbyteArray array) {
  347.42 +    return ((off < 0) ||
  347.43 +            (len < 0) ||
  347.44 +            // We are very careful to avoid signed integer overflow,
  347.45 +            // the result of which is undefined in C.
  347.46 +            ((*env)->GetArrayLength(env, array) - off < len));
  347.47 +}
  347.48  
  347.49 -int
  347.50 +jint
  347.51  readBytes(JNIEnv *env, jobject this, jbyteArray bytes,
  347.52            jint off, jint len, jfieldID fid)
  347.53  {
  347.54 -    int nread, datalen;
  347.55 +    jint nread;
  347.56      char stackBuf[BUF_SIZE];
  347.57 -    char *buf = 0;
  347.58 +    char *buf = NULL;
  347.59      FD fd;
  347.60  
  347.61      if (IS_NULL(bytes)) {
  347.62 -        JNU_ThrowNullPointerException(env, 0);
  347.63 +        JNU_ThrowNullPointerException(env, NULL);
  347.64          return -1;
  347.65      }
  347.66 -    datalen = (*env)->GetArrayLength(env, bytes);
  347.67  
  347.68 -    if ((off < 0) || (off > datalen) ||
  347.69 -        (len < 0) || ((off + len) > datalen) || ((off + len) < 0)) {
  347.70 -        JNU_ThrowByName(env, "java/lang/IndexOutOfBoundsException", 0);
  347.71 +    if (outOfBounds(env, off, len, bytes)) {
  347.72 +        JNU_ThrowByName(env, "java/lang/IndexOutOfBoundsException", NULL);
  347.73          return -1;
  347.74      }
  347.75  
  347.76 @@ -84,8 +95,8 @@
  347.77          return 0;
  347.78      } else if (len > BUF_SIZE) {
  347.79          buf = malloc(len);
  347.80 -        if (buf == 0) {
  347.81 -            JNU_ThrowOutOfMemoryError(env, 0);
  347.82 +        if (buf == NULL) {
  347.83 +            JNU_ThrowOutOfMemoryError(env, NULL);
  347.84              return 0;
  347.85          }
  347.86      } else {
  347.87 @@ -95,18 +106,18 @@
  347.88      fd = GET_FD(this, fid);
  347.89      if (fd == -1) {
  347.90          JNU_ThrowIOException(env, "Stream Closed");
  347.91 -        return -1;
  347.92 -    }
  347.93 -
  347.94 -    nread = IO_Read(fd, buf, len);
  347.95 -    if (nread > 0) {
  347.96 -        (*env)->SetByteArrayRegion(env, bytes, off, nread, (jbyte *)buf);
  347.97 -    } else if (nread == JVM_IO_ERR) {
  347.98 -        JNU_ThrowIOExceptionWithLastError(env, "Read error");
  347.99 -    } else if (nread == JVM_IO_INTR) { /* EOF */
 347.100 -        JNU_ThrowByName(env, "java/io/InterruptedIOException", 0);
 347.101 -    } else { /* EOF */
 347.102          nread = -1;
 347.103 +    } else {
 347.104 +        nread = IO_Read(fd, buf, len);
 347.105 +        if (nread > 0) {
 347.106 +            (*env)->SetByteArrayRegion(env, bytes, off, nread, (jbyte *)buf);
 347.107 +        } else if (nread == JVM_IO_ERR) {
 347.108 +            JNU_ThrowIOExceptionWithLastError(env, "Read error");
 347.109 +        } else if (nread == JVM_IO_INTR) {
 347.110 +            JNU_ThrowByName(env, "java/io/InterruptedIOException", NULL);
 347.111 +        } else { /* EOF */
 347.112 +            nread = -1;
 347.113 +        }
 347.114      }
 347.115  
 347.116      if (buf != stackBuf) {
 347.117 @@ -117,8 +128,9 @@
 347.118  
 347.119  void
 347.120  writeSingle(JNIEnv *env, jobject this, jint byte, jfieldID fid) {
 347.121 -    char c = byte;
 347.122 -    int n;
 347.123 +    // Discard the 24 high-order bits of byte. See OutputStream#write(int)
 347.124 +    char c = (char) byte;
 347.125 +    jint n;
 347.126      FD fd = GET_FD(this, fid);
 347.127      if (fd == -1) {
 347.128          JNU_ThrowIOException(env, "Stream Closed");
 347.129 @@ -128,28 +140,26 @@
 347.130      if (n == JVM_IO_ERR) {
 347.131          JNU_ThrowIOExceptionWithLastError(env, "Write error");
 347.132      } else if (n == JVM_IO_INTR) {
 347.133 -        JNU_ThrowByName(env, "java/io/InterruptedIOException", 0);
 347.134 +        JNU_ThrowByName(env, "java/io/InterruptedIOException", NULL);
 347.135      }
 347.136  }
 347.137  
 347.138  void
 347.139  writeBytes(JNIEnv *env, jobject this, jbyteArray bytes,
 347.140 -          jint off, jint len, jfieldID fid)
 347.141 +           jint off, jint len, jfieldID fid)
 347.142  {
 347.143 -    int n, datalen;
 347.144 +    jint n;
 347.145      char stackBuf[BUF_SIZE];
 347.146 -    char *buf = 0;
 347.147 +    char *buf = NULL;
 347.148      FD fd;
 347.149  
 347.150      if (IS_NULL(bytes)) {
 347.151 -        JNU_ThrowNullPointerException(env, 0);
 347.152 +        JNU_ThrowNullPointerException(env, NULL);
 347.153          return;
 347.154      }
 347.155 -    datalen = (*env)->GetArrayLength(env, bytes);
 347.156  
 347.157 -    if ((off < 0) || (off > datalen) ||
 347.158 -        (len < 0) || ((off + len) > datalen) || ((off + len) < 0)) {
 347.159 -        JNU_ThrowByName(env, "java/lang/IndexOutOfBoundsException", 0);
 347.160 +    if (outOfBounds(env, off, len, bytes)) {
 347.161 +        JNU_ThrowByName(env, "java/lang/IndexOutOfBoundsException", NULL);
 347.162          return;
 347.163      }
 347.164  
 347.165 @@ -157,8 +167,8 @@
 347.166          return;
 347.167      } else if (len > BUF_SIZE) {
 347.168          buf = malloc(len);
 347.169 -        if (buf == 0) {
 347.170 -            JNU_ThrowOutOfMemoryError(env, 0);
 347.171 +        if (buf == NULL) {
 347.172 +            JNU_ThrowOutOfMemoryError(env, NULL);
 347.173              return;
 347.174          }
 347.175      } else {
 347.176 @@ -180,7 +190,7 @@
 347.177                  JNU_ThrowIOExceptionWithLastError(env, "Write error");
 347.178                  break;
 347.179              } else if (n == JVM_IO_INTR) {
 347.180 -                JNU_ThrowByName(env, "java/io/InterruptedIOException", 0);
 347.181 +                JNU_ThrowByName(env, "java/io/InterruptedIOException", NULL);
 347.182                  break;
 347.183              }
 347.184              off += n;
 347.185 @@ -196,19 +206,19 @@
 347.186  throwFileNotFoundException(JNIEnv *env, jstring path)
 347.187  {
 347.188      char buf[256];
 347.189 -    int n;
 347.190 +    jint n;
 347.191      jobject x;
 347.192      jstring why = NULL;
 347.193  
 347.194      n = JVM_GetLastErrorString(buf, sizeof(buf));
 347.195      if (n > 0) {
 347.196 -    why = JNU_NewStringPlatform(env, buf);
 347.197 +        why = JNU_NewStringPlatform(env, buf);
 347.198      }
 347.199      x = JNU_NewObjectByName(env,
 347.200 -                "java/io/FileNotFoundException",
 347.201 -                "(Ljava/lang/String;Ljava/lang/String;)V",
 347.202 -                path, why);
 347.203 +                            "java/io/FileNotFoundException",
 347.204 +                            "(Ljava/lang/String;Ljava/lang/String;)V",
 347.205 +                            path, why);
 347.206      if (x != NULL) {
 347.207 -    (*env)->Throw(env, x);
 347.208 +        (*env)->Throw(env, x);
 347.209      }
 347.210  }
   348.1 --- a/src/share/native/java/io/io_util.h	Wed Jan 14 21:35:03 2009 -0800
   348.2 +++ b/src/share/native/java/io/io_util.h	Tue Jan 20 09:42:07 2009 -0800
   348.3 @@ -38,9 +38,9 @@
   348.4   * IO helper functions
   348.5   */
   348.6  
   348.7 -int readSingle(JNIEnv *env, jobject this, jfieldID fid);
   348.8 -int readBytes(JNIEnv *env, jobject this, jbyteArray bytes, jint off,
   348.9 -              jint len, jfieldID fid);
  348.10 +jint readSingle(JNIEnv *env, jobject this, jfieldID fid);
  348.11 +jint readBytes(JNIEnv *env, jobject this, jbyteArray bytes, jint off,
  348.12 +               jint len, jfieldID fid);
  348.13  void writeSingle(JNIEnv *env, jobject this, jint byte, jfieldID fid);
  348.14  void writeBytes(JNIEnv *env, jobject this, jbyteArray bytes, jint off,
  348.15                  jint len, jfieldID fid);
   349.1 --- a/src/share/native/sun/font/freetypeScaler.c	Wed Jan 14 21:35:03 2009 -0800
   349.2 +++ b/src/share/native/sun/font/freetypeScaler.c	Tue Jan 20 09:42:07 2009 -0800
   349.3 @@ -1281,7 +1281,7 @@
   349.4                                     sunFontIDs.rect2DFloatClass,
   349.5                                     sunFontIDs.rect2DFloatCtr4,
   349.6                                     F26Dot6ToFloat(bbox.xMin),
   349.7 -                                   F26Dot6ToFloat(bbox.yMax),
   349.8 +                                   F26Dot6ToFloat(-bbox.yMax),
   349.9                                     F26Dot6ToFloat(bbox.xMax-bbox.xMin),
  349.10                                     F26Dot6ToFloat(bbox.yMax-bbox.yMin));
  349.11      }
   350.1 --- a/src/share/native/sun/java2d/opengl/OGLBlitLoops.c	Wed Jan 14 21:35:03 2009 -0800
   350.2 +++ b/src/share/native/sun/java2d/opengl/OGLBlitLoops.c	Tue Jan 20 09:42:07 2009 -0800
   350.3 @@ -203,7 +203,24 @@
   350.4      j2d_glBitmap(0, 0, 0, 0, (GLfloat)dx1, (GLfloat)-dy1, NULL);
   350.5  
   350.6      j2d_glPixelZoom(scalex, -scaley);
   350.7 -    j2d_glDrawPixels(sx2-sx1, sy2-sy1, pf->format, pf->type, srcInfo->rasBase);
   350.8 +
   350.9 +    // in case pixel stride is not a multiple of scanline stride the copy
  350.10 +    // has to be done line by line (see 6207877)
  350.11 +    if (srcInfo->scanStride % srcInfo->pixelStride != 0) {
  350.12 +        jint width = sx2-sx1;
  350.13 +        jint height = sy2-sy1;
  350.14 +        GLvoid *pSrc = srcInfo->rasBase;
  350.15 +
  350.16 +        while (height > 0) {
  350.17 +            j2d_glDrawPixels(width, 1, pf->format, pf->type, pSrc);
  350.18 +            j2d_glBitmap(0, 0, 0, 0, (GLfloat)0, (GLfloat)-1, NULL);
  350.19 +            pSrc = PtrAddBytes(pSrc, srcInfo->scanStride);
  350.20 +            height--;
  350.21 +        }
  350.22 +    } else {
  350.23 +        j2d_glDrawPixels(sx2-sx1, sy2-sy1, pf->format, pf->type, srcInfo->rasBase);
  350.24 +    }
  350.25 +
  350.26      j2d_glPixelZoom(1.0, 1.0);
  350.27  
  350.28      if (oglc->extraAlpha != 1.0f) {
  350.29 @@ -250,6 +267,7 @@
  350.30      jint sx, sy, sw, sh;
  350.31      GLint glhint = (hint == OGLSD_XFORM_BILINEAR) ? GL_LINEAR : GL_NEAREST;
  350.32      jboolean adjustAlpha = (pf != NULL && !pf->hasAlpha);
  350.33 +    jboolean slowPath;
  350.34  
  350.35      if (oglc->blitTextureID == 0) {
  350.36          if (!OGLContext_InitBlitTileTexture(oglc)) {
  350.37 @@ -279,6 +297,10 @@
  350.38          j2d_glPixelTransferf(GL_ALPHA_BIAS, 1.0f);
  350.39      }
  350.40  
  350.41 +    // in case pixel stride is not a multiple of scanline stride the copy
  350.42 +    // has to be done line by line (see 6207877)
  350.43 +    slowPath = srcInfo->scanStride % srcInfo->pixelStride != 0;
  350.44 +
  350.45      for (sy = sy1, dy = dy1; sy < sy2; sy += th, dy += cdh) {
  350.46          sh = ((sy + th) > sy2) ? (sy2 - sy) : th;
  350.47          dh = ((dy + cdh) > dy2) ? (dy2 - dy) : cdh;
  350.48 @@ -291,13 +313,29 @@
  350.49              ty2 = ((GLdouble)sh) / th;
  350.50  
  350.51              if (swsurface) {
  350.52 -                j2d_glPixelStorei(GL_UNPACK_SKIP_PIXELS, sx);
  350.53 -                j2d_glPixelStorei(GL_UNPACK_SKIP_ROWS, sy);
  350.54 +                if (slowPath) {
  350.55 +                    jint tmph = sh;
  350.56 +                    GLvoid *pSrc = PtrCoord(srcInfo->rasBase,
  350.57 +                                            sx, srcInfo->pixelStride,
  350.58 +                                            sy, srcInfo->scanStride);
  350.59  
  350.60 -                j2d_glTexSubImage2D(GL_TEXTURE_2D, 0,
  350.61 -                                    0, 0, sw, sh,
  350.62 -                                    pf->format, pf->type,
  350.63 -                                    srcInfo->rasBase);
  350.64 +                    while (tmph > 0) {
  350.65 +                        j2d_glTexSubImage2D(GL_TEXTURE_2D, 0,
  350.66 +                                            0, sh - tmph, sw, 1,
  350.67 +                                            pf->format, pf->type,
  350.68 +                                            pSrc);
  350.69 +                        pSrc = PtrAddBytes(pSrc, srcInfo->scanStride);
  350.70 +                        tmph--;
  350.71 +                    }
  350.72 +                } else {
  350.73 +                    j2d_glPixelStorei(GL_UNPACK_SKIP_PIXELS, sx);
  350.74 +                    j2d_glPixelStorei(GL_UNPACK_SKIP_ROWS, sy);
  350.75 +
  350.76 +                    j2d_glTexSubImage2D(GL_TEXTURE_2D, 0,
  350.77 +                                        0, 0, sw, sh,
  350.78 +                                        pf->format, pf->type,
  350.79 +                                        srcInfo->rasBase);
  350.80 +                }
  350.81  
  350.82                  // the texture image is "right side up", so we align the
  350.83                  // upper-left texture corner with the upper-left quad corner
  350.84 @@ -356,9 +394,25 @@
  350.85                     jint dx1, jint dy1, jint dx2, jint dy2)
  350.86  {
  350.87      j2d_glBindTexture(dstOps->textureTarget, dstOps->textureID);
  350.88 -    j2d_glTexSubImage2D(dstOps->textureTarget, 0,
  350.89 -                        dx1, dy1, dx2-dx1, dy2-dy1,
  350.90 -                        pf->format, pf->type, srcInfo->rasBase);
  350.91 +    // in case pixel stride is not a multiple of scanline stride the copy
  350.92 +    // has to be done line by line (see 6207877)
  350.93 +    if (srcInfo->scanStride % srcInfo->pixelStride != 0) {
  350.94 +        jint width = dx2 - dx1;
  350.95 +        jint height = dy2 - dy1;
  350.96 +        GLvoid *pSrc = srcInfo->rasBase;
  350.97 +
  350.98 +        while (height > 0) {
  350.99 +            j2d_glTexSubImage2D(dstOps->textureTarget, 0,
 350.100 +                                dx1, dy2 - height, width, 1,
 350.101 +                                pf->format, pf->type, pSrc);
 350.102 +            pSrc = PtrAddBytes(pSrc, srcInfo->scanStride);
 350.103 +            height--;
 350.104 +        }
 350.105 +    } else {
 350.106 +        j2d_glTexSubImage2D(dstOps->textureTarget, 0,
 350.107 +                            dx1, dy1, dx2-dx1, dy2-dy1,
 350.108 +                            pf->format, pf->type, srcInfo->rasBase);
 350.109 +    }
 350.110  }
 350.111  
 350.112  /**
   351.1 --- a/src/share/native/sun/java2d/opengl/OGLSurfaceData.c	Wed Jan 14 21:35:03 2009 -0800
   351.2 +++ b/src/share/native/sun/java2d/opengl/OGLSurfaceData.c	Tue Jan 20 09:42:07 2009 -0800
   351.3 @@ -73,7 +73,8 @@
   351.4        1, 0, 1,                                     }, /* 9 - ByteGray     */
   351.5      { GL_LUMINANCE, GL_UNSIGNED_SHORT,
   351.6        2, 0, 1,                                     }, /*10 - UshortGray   */
   351.7 -};
   351.8 +    { GL_BGR,  GL_UNSIGNED_BYTE,
   351.9 +      1, 0, 1,                                     }, /*11 - ThreeByteBgr */};
  351.10  
  351.11  /**
  351.12   * Given a starting value and a maximum limit, returns the first power-of-two
   352.1 --- a/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java	Wed Jan 14 21:35:03 2009 -0800
   352.2 +++ b/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java	Tue Jan 20 09:42:07 2009 -0800
   352.3 @@ -209,7 +209,7 @@
   352.4      private static native int checkShmExt();
   352.5  
   352.6      private static  native String getDisplayString();
   352.7 -    private static Boolean isDisplayLocal;
   352.8 +    private Boolean isDisplayLocal;
   352.9  
  352.10      /**
  352.11       * This should only be called from the static initializer, so no need for
  352.12 @@ -234,7 +234,8 @@
  352.13          return getScreenDevices()[getDefaultScreenNum()];
  352.14      }
  352.15  
  352.16 -    public static boolean isDisplayLocal() {
  352.17 +    @Override
  352.18 +    public boolean isDisplayLocal() {
  352.19          if (isDisplayLocal == null) {
  352.20              SunToolkit.awtLock();
  352.21              try {
   353.1 --- a/src/solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java	Wed Jan 14 21:35:03 2009 -0800
   353.2 +++ b/src/solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java	Tue Jan 20 09:42:07 2009 -0800
   353.3 @@ -120,12 +120,14 @@
   353.4                  new GLXGetConfigInfo(device.getScreen(), visualnum);
   353.5              rq.flushAndInvokeNow(action);
   353.6              cfginfo = action.getConfigInfo();
   353.7 -            OGLContext.setScratchSurface(cfginfo);
   353.8 -            rq.flushAndInvokeNow(new Runnable() {
   353.9 -                public void run() {
  353.10 -                    ids[0] = OGLContext.getOGLIdString();
  353.11 -                }
  353.12 -            });
  353.13 +            if (cfginfo != 0L) {
  353.14 +                OGLContext.setScratchSurface(cfginfo);
  353.15 +                rq.flushAndInvokeNow(new Runnable() {
  353.16 +                    public void run() {
  353.17 +                        ids[0] = OGLContext.getOGLIdString();
  353.18 +                    }
  353.19 +                });
  353.20 +            }
  353.21          } finally {
  353.22              rq.unlock();
  353.23          }
   354.1 --- a/src/solaris/classes/sun/java2d/x11/X11SurfaceData.java	Wed Jan 14 21:35:03 2009 -0800
   354.2 +++ b/src/solaris/classes/sun/java2d/x11/X11SurfaceData.java	Tue Jan 20 09:42:07 2009 -0800
   354.3 @@ -50,6 +50,7 @@
   354.4  import sun.font.X11TextRenderer;
   354.5  import sun.java2d.InvalidPipeException;
   354.6  import sun.java2d.SunGraphics2D;
   354.7 +import sun.java2d.SunGraphicsEnvironment;
   354.8  import sun.java2d.SurfaceData;
   354.9  import sun.java2d.SurfaceDataProxy;
  354.10  import sun.java2d.loops.SurfaceType;
  354.11 @@ -240,6 +241,11 @@
  354.12       */
  354.13      public static native boolean isDgaAvailable();
  354.14  
  354.15 +    /**
  354.16 +     * Returns true if shared memory pixmaps are available
  354.17 +     */
  354.18 +    private static native boolean isShmPMAvailable();
  354.19 +
  354.20      public static boolean isAccelerationEnabled() {
  354.21          if (accelerationEnabled == null) {
  354.22  
  354.23 @@ -253,8 +259,17 @@
  354.24                      // true iff prop==true, false otherwise
  354.25                      accelerationEnabled = Boolean.valueOf(prop);
  354.26                  } else {
  354.27 -                    // use pixmaps if there is no dga, no matter local or remote
  354.28 -                    accelerationEnabled = Boolean.valueOf(!isDgaAvailable());
  354.29 +                    boolean isDisplayLocal = false;
  354.30 +                    GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
  354.31 +                    if (ge instanceof SunGraphicsEnvironment) {
  354.32 +                        isDisplayLocal = ((SunGraphicsEnvironment) ge).isDisplayLocal();
  354.33 +                     }
  354.34 +
  354.35 +                    // EXA based drivers tend to place pixmaps in VRAM, slowing down readbacks.
  354.36 +                    // Don't use pixmaps if dga is available,
  354.37 +                    // or we are local and shared memory Pixmaps are not available.
  354.38 +                    accelerationEnabled =
  354.39 +                        !(isDgaAvailable() || (isDisplayLocal && !isShmPMAvailable()));
  354.40                  }
  354.41              }
  354.42          }
   355.1 --- a/src/solaris/classes/sun/print/CUPSPrinter.java	Wed Jan 14 21:35:03 2009 -0800
   355.2 +++ b/src/solaris/classes/sun/print/CUPSPrinter.java	Tue Jan 20 09:42:07 2009 -0800
   355.3 @@ -46,9 +46,9 @@
   355.4  
   355.5  
   355.6  public class CUPSPrinter  {
   355.7 -
   355.8 +    private static final String debugPrefix = "CUPSPrinter>> ";
   355.9      private static final double PRINTER_DPI = 72.0;
  355.10 -    private static boolean initialized;
  355.11 +    private boolean initialized;
  355.12      private static native String getCupsServer();
  355.13      private static native int getCupsPort();
  355.14      private static native boolean canConnect(String server, int port);
  355.15 @@ -156,7 +156,7 @@
  355.16      /**
  355.17       * Initialize media by translating PPD info to PrintService attributes.
  355.18       */
  355.19 -    private void initMedia() {
  355.20 +    private synchronized void initMedia() {
  355.21          if (initialized) {
  355.22              return;
  355.23          } else {
  355.24 @@ -392,9 +392,9 @@
  355.25       * Detects if CUPS is running.
  355.26       */
  355.27      public static boolean isCupsRunning() {
  355.28 -        IPPPrintService.debug_println("libFound "+libFound);
  355.29 +        IPPPrintService.debug_println(debugPrefix+"libFound "+libFound);
  355.30          if (libFound) {
  355.31 -            IPPPrintService.debug_println("CUPS server "+getServer()+
  355.32 +            IPPPrintService.debug_println(debugPrefix+"CUPS server "+getServer()+
  355.33                                            " port "+getPort());
  355.34              return canConnect(getServer(), getPort());
  355.35          } else {
   356.1 --- a/src/solaris/classes/sun/print/IPPPrintService.java	Wed Jan 14 21:35:03 2009 -0800
   356.2 +++ b/src/solaris/classes/sun/print/IPPPrintService.java	Tue Jan 20 09:42:07 2009 -0800
   356.3 @@ -1,5 +1,5 @@
   356.4  /*
   356.5 - * Copyright 2003-2008 Sun Microsystems, Inc.  All Rights Reserved.
   356.6 + * Copyright 2003-2007 Sun Microsystems, Inc.  All Rights Reserved.
   356.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   356.8   *
   356.9   * This code is free software; you can redistribute it and/or modify it
  356.10 @@ -57,18 +57,28 @@
  356.11  import java.nio.charset.Charset;
  356.12  
  356.13  import java.util.Iterator;
  356.14 +import java.util.HashSet;
  356.15  
  356.16  
  356.17  public class IPPPrintService implements PrintService, SunPrinterJobService {
  356.18  
  356.19 -    public static boolean debugPrint = false;
  356.20 -    private static String debugPrefix = "IPPPrintService>> ";
  356.21 +    public static final boolean debugPrint;
  356.22 +    private static final String debugPrefix = "IPPPrintService>> ";
  356.23      protected static void debug_println(String str) {
  356.24          if (debugPrint) {
  356.25              System.out.println(str);
  356.26          }
  356.27      }
  356.28  
  356.29 +    private static final String FORCE_PIPE_PROP = "sun.print.ippdebug";
  356.30 +
  356.31 +    static {
  356.32 +        String debugStr =
  356.33 +                (String)java.security.AccessController.doPrivileged(
  356.34 +                  new sun.security.action.GetPropertyAction(FORCE_PIPE_PROP));
  356.35 +
  356.36 +        debugPrint = "true".equalsIgnoreCase(debugStr);
  356.37 +    }
  356.38  
  356.39      private String printer;
  356.40      private URI    myURI;
  356.41 @@ -382,7 +392,7 @@
  356.42              if ((urlConnection = getIPPConnection(myURL)) == null) {
  356.43                  mediaSizeNames = new MediaSizeName[0];
  356.44                  mediaTrays = new MediaTray[0];
  356.45 -                debug_println("NULL urlConnection ");
  356.46 +                debug_println(debugPrefix+"initAttributes, NULL urlConnection ");
  356.47                  init = true;
  356.48                  return;
  356.49              }
  356.50 @@ -407,7 +417,7 @@
  356.51                      return;
  356.52                  } catch (Exception e) {
  356.53                      IPPPrintService.debug_println(debugPrefix+
  356.54 -                                       " error creating CUPSPrinter e="+e);
  356.55 +                                       "initAttributes, error creating CUPSPrinter e="+e);
  356.56                  }
  356.57              }
  356.58  
  356.59 @@ -486,28 +496,26 @@
  356.60          /* Test if the flavor is compatible with the category */
  356.61          if ((category == Copies.class) ||
  356.62              (category == CopiesSupported.class)) {
  356.63 -            CopiesSupported cs = new CopiesSupported(1, MAXCOPIES);
  356.64 -            AttributeClass attribClass = (getAttMap != null) ?
  356.65 -                (AttributeClass)getAttMap.get(cs.getName()) : null;
  356.66 -            if (attribClass != null) {
  356.67 -                int[] range = attribClass.getIntRangeValue();
  356.68 -                cs = new CopiesSupported(range[0], range[1]);
  356.69 +            if (flavor == null ||
  356.70 +                !(flavor.equals(DocFlavor.INPUT_STREAM.POSTSCRIPT) ||
  356.71 +                  flavor.equals(DocFlavor.URL.POSTSCRIPT) ||
  356.72 +                  flavor.equals(DocFlavor.BYTE_ARRAY.POSTSCRIPT))) {
  356.73 +                CopiesSupported cs = new CopiesSupported(1, MAXCOPIES);
  356.74 +                AttributeClass attribClass = (getAttMap != null) ?
  356.75 +                    (AttributeClass)getAttMap.get(cs.getName()) : null;
  356.76 +                if (attribClass != null) {
  356.77 +                    int[] range = attribClass.getIntRangeValue();
  356.78 +                    cs = new CopiesSupported(range[0], range[1]);
  356.79 +                }
  356.80 +                return cs;
  356.81 +            } else {
  356.82 +                return null;
  356.83              }
  356.84 -            return cs;
  356.85          } else  if (category == Chromaticity.class) {
  356.86              if (flavor == null ||
  356.87                  flavor.equals(DocFlavor.SERVICE_FORMATTED.PAGEABLE) ||
  356.88                  flavor.equals(DocFlavor.SERVICE_FORMATTED.PRINTABLE) ||
  356.89 -                flavor.equals(DocFlavor.BYTE_ARRAY.GIF) ||
  356.90 -                flavor.equals(DocFlavor.INPUT_STREAM.GIF) ||
  356.91 -                flavor.equals(DocFlavor.URL.GIF) ||
  356.92 -                flavor.equals(DocFlavor.BYTE_ARRAY.JPEG) ||
  356.93 -                flavor.equals(DocFlavor.INPUT_STREAM.JPEG) ||
  356.94 -                flavor.equals(DocFlavor.URL.JPEG) ||
  356.95 -                flavor.equals(DocFlavor.BYTE_ARRAY.PNG) ||
  356.96 -                flavor.equals(DocFlavor.INPUT_STREAM.PNG) ||
  356.97 -                flavor.equals(DocFlavor.URL.PNG)) {
  356.98 -
  356.99 +                !isIPPSupportedImages(flavor.getMimeType())) {
 356.100                  Chromaticity[]arr = new Chromaticity[1];
 356.101                  arr[0] = Chromaticity.COLOR;
 356.102                  return (arr);
 356.103 @@ -822,7 +830,7 @@
 356.104                  boolean psSupported = false;
 356.105                  String[] docFlavors = attribClass.getArrayOfStringValues();
 356.106                  DocFlavor[] flavors;
 356.107 -                ArrayList docList = new ArrayList();
 356.108 +                HashSet docList = new HashSet();
 356.109                  int j;
 356.110                  String hostEnc = DocFlavor.hostEncoding.
 356.111                      toLowerCase(Locale.ENGLISH);
 356.112 @@ -839,18 +847,6 @@
 356.113  
 356.114                              docList.addAll(Arrays.asList(flavors));
 356.115  
 356.116 -                            if (isCupsPrinter) {
 356.117 -                            /*
 356.118 -                              Always add Pageable and Printable for CUPS
 356.119 -                              since it uses Filters to convert from Postscript
 356.120 -                              to device printer language.
 356.121 -                             */
 356.122 -                                docList.add(
 356.123 -                                        DocFlavor.SERVICE_FORMATTED.PAGEABLE);
 356.124 -                                docList.add(
 356.125 -                                        DocFlavor.SERVICE_FORMATTED.PRINTABLE);
 356.126 -                            }
 356.127 -
 356.128                              if (mimeType.equals("text/plain") &&
 356.129                                  addHostEncoding) {
 356.130                                  docList.add(Arrays.asList(textPlainHost));
 356.131 @@ -880,16 +876,19 @@
 356.132                  }
 356.133  
 356.134                  // check if we need to add image DocFlavors
 356.135 +                // and Pageable/Printable flavors
 356.136                  if (psSupported || isCupsPrinter) {
 356.137 -                    if (!jpgImagesAdded) {
 356.138 -                        docList.addAll(Arrays.asList(imageJPG));
 356.139 -                    }
 356.140 -                    if (!pngImagesAdded) {
 356.141 -                        docList.addAll(Arrays.asList(imagePNG));
 356.142 -                    }
 356.143 -                    if (!gifImagesAdded) {
 356.144 -                        docList.addAll(Arrays.asList(imageGIF));
 356.145 -                    }
 356.146 +                    /*
 356.147 +                     Always add Pageable and Printable for CUPS
 356.148 +                     since it uses Filters to convert from Postscript
 356.149 +                     to device printer language.
 356.150 +                    */
 356.151 +                    docList.add(DocFlavor.SERVICE_FORMATTED.PAGEABLE);
 356.152 +                    docList.add(DocFlavor.SERVICE_FORMATTED.PRINTABLE);
 356.153 +
 356.154 +                    docList.addAll(Arrays.asList(imageJPG));
 356.155 +                    docList.addAll(Arrays.asList(imagePNG));
 356.156 +                    docList.addAll(Arrays.asList(imageGIF));
 356.157                  }
 356.158                  supportedDocFlavors = new DocFlavor[docList.size()];
 356.159                  docList.toArray(supportedDocFlavors);
 356.160 @@ -922,6 +921,9 @@
 356.161       * Finds matching CustomMediaSizeName of given media.
 356.162       */
 356.163      public CustomMediaSizeName findCustomMedia(MediaSizeName media) {
 356.164 +        if (customMediaSizeNames == null) {
 356.165 +            return null;
 356.166 +        }
 356.167          for (int i=0; i< customMediaSizeNames.length; i++) {
 356.168              CustomMediaSizeName custom =
 356.169                  (CustomMediaSizeName)customMediaSizeNames[i];
 356.170 @@ -1203,7 +1205,7 @@
 356.171              return true;
 356.172          }
 356.173          for (int i=0; i<mediaSizeNames.length; i++) {
 356.174 -            debug_println("mediaSizeNames[i] "+mediaSizeNames[i]);
 356.175 +            debug_println(debugPrefix+"isSupportedMedia, mediaSizeNames[i] "+mediaSizeNames[i]);
 356.176              if (msn.equals(mediaSizeNames[i])) {
 356.177                  return true;
 356.178              }
 356.179 @@ -1228,7 +1230,7 @@
 356.180      }
 356.181  
 356.182  
 356.183 -   public boolean isAttributeValueSupported(Attribute attr,
 356.184 +    public boolean isAttributeValueSupported(Attribute attr,
 356.185                                               DocFlavor flavor,
 356.186                                               AttributeSet attributes) {
 356.187          if (attr == null) {
 356.188 @@ -1257,21 +1259,18 @@
 356.189              if ((flavor == null) ||
 356.190                  flavor.equals(DocFlavor.SERVICE_FORMATTED.PAGEABLE) ||
 356.191                  flavor.equals(DocFlavor.SERVICE_FORMATTED.PRINTABLE) ||
 356.192 -                flavor.equals(DocFlavor.BYTE_ARRAY.GIF) ||
 356.193 -                flavor.equals(DocFlavor.INPUT_STREAM.GIF) ||
 356.194 -                flavor.equals(DocFlavor.URL.GIF) ||
 356.195 -                flavor.equals(DocFlavor.BYTE_ARRAY.JPEG) ||
 356.196 -                flavor.equals(DocFlavor.INPUT_STREAM.JPEG) ||
 356.197 -                flavor.equals(DocFlavor.URL.JPEG) ||
 356.198 -                flavor.equals(DocFlavor.BYTE_ARRAY.PNG) ||
 356.199 -                flavor.equals(DocFlavor.INPUT_STREAM.PNG) ||
 356.200 -                flavor.equals(DocFlavor.URL.PNG)) {
 356.201 +                !isIPPSupportedImages(flavor.getMimeType())) {
 356.202                  return attr == Chromaticity.COLOR;
 356.203              } else {
 356.204                  return false;
 356.205              }
 356.206          } else if (attr.getCategory() == Copies.class) {
 356.207 -            return isSupportedCopies((Copies)attr);
 356.208 +            return (flavor == null ||
 356.209 +                   !(flavor.equals(DocFlavor.INPUT_STREAM.POSTSCRIPT) ||
 356.210 +                   flavor.equals(DocFlavor.URL.POSTSCRIPT) ||
 356.211 +                   flavor.equals(DocFlavor.BYTE_ARRAY.POSTSCRIPT))) &&
 356.212 +                isSupportedCopies((Copies)attr);
 356.213 +
 356.214          } else if (attr.getCategory() == Destination.class) {
 356.215              if (flavor == null ||
 356.216                  flavor.equals(DocFlavor.SERVICE_FORMATTED.PAGEABLE) ||
 356.217 @@ -1667,9 +1666,10 @@
 356.218          try {
 356.219              osw = new OutputStreamWriter(os, "UTF-8");
 356.220          } catch (java.io.UnsupportedEncodingException exc) {
 356.221 -            debug_println("UTF-8 not supported? Exception: "+exc);
 356.222 +            debug_println(debugPrefix+"writeIPPRequest, UTF-8 not supported? Exception: "+exc);
 356.223              return false;
 356.224          }
 356.225 +        debug_println(debugPrefix+"writeIPPRequest, op code= "+operCode);
 356.226          char[] opCode =  new char[2];
 356.227          opCode[0] =  (char)Byte.parseByte(operCode.substring(0,2), 16);
 356.228          opCode[1] =  (char)Byte.parseByte(operCode.substring(2,4), 16);
 356.229 @@ -1710,7 +1710,7 @@
 356.230              osw.flush();
 356.231              osw.close();
 356.232          } catch (java.io.IOException ioe) {
 356.233 -            debug_println(debugPrefix+"IPPPrintService Exception in writeIPPRequest: "+ioe);
 356.234 +            debug_println(debugPrefix+"writeIPPRequest, IPPPrintService Exception in writeIPPRequest: "+ioe);
 356.235              return false;
 356.236          }
 356.237          return true;
 356.238 @@ -1747,7 +1747,7 @@
 356.239                  while ((response[0] >= GRPTAG_OP_ATTRIBUTES) &&
 356.240                         (response[0] <= GRPTAG_PRINTER_ATTRIBUTES)
 356.241                            && (response[0] != GRPTAG_END_ATTRIBUTES)) {
 356.242 -                    debug_println(debugPrefix+"checking group tag,  response[0]= "+
 356.243 +                    debug_println(debugPrefix+"readIPPResponse, checking group tag,  response[0]= "+
 356.244                                    response[0]);
 356.245  
 356.246                      outObj = new ByteArrayOutputStream();
 356.247 @@ -1786,6 +1786,7 @@
 356.248                                                         outArray);
 356.249  
 356.250                                  responseMap.put(ac.getName(), ac);
 356.251 +                                debug_println(debugPrefix+ "readIPPResponse "+ac);
 356.252                              }
 356.253  
 356.254                              outObj = new ByteArrayOutputStream();
 356.255 @@ -1858,6 +1859,9 @@
 356.256  
 356.257          } catch (java.io.IOException e) {
 356.258              debug_println(debugPrefix+"readIPPResponse: "+e);
 356.259 +            if (debugPrint) {
 356.260 +                e.printStackTrace();
 356.261 +            }
 356.262              return null;
 356.263          }
 356.264      }
 356.265 @@ -1872,4 +1876,8 @@
 356.266                   (obj instanceof IPPPrintService &&
 356.267                    ((IPPPrintService)obj).getName().equals(getName())));
 356.268      }
 356.269 +
 356.270 +    public int hashCode() {
 356.271 +        return this.getClass().hashCode()+getName().hashCode();
 356.272 +    }
 356.273  }
   357.1 --- a/src/solaris/classes/sun/print/UnixPrintService.java	Wed Jan 14 21:35:03 2009 -0800
   357.2 +++ b/src/solaris/classes/sun/print/UnixPrintService.java	Tue Jan 20 09:42:07 2009 -0800
   357.3 @@ -686,19 +686,7 @@
   357.4          }
   357.5  
   357.6          if (category == Chromaticity.class) {
   357.7 -            if (flavor == null ||
   357.8 -                flavor.equals(DocFlavor.SERVICE_FORMATTED.PAGEABLE) ||
   357.9 -                flavor.equals(DocFlavor.SERVICE_FORMATTED.PRINTABLE) ||
  357.10 -                flavor.equals(DocFlavor.BYTE_ARRAY.GIF) ||
  357.11 -                flavor.equals(DocFlavor.INPUT_STREAM.GIF) ||
  357.12 -                flavor.equals(DocFlavor.URL.GIF) ||
  357.13 -                flavor.equals(DocFlavor.BYTE_ARRAY.JPEG) ||
  357.14 -                flavor.equals(DocFlavor.INPUT_STREAM.JPEG) ||
  357.15 -                flavor.equals(DocFlavor.URL.JPEG) ||
  357.16 -                flavor.equals(DocFlavor.BYTE_ARRAY.PNG) ||
  357.17 -                flavor.equals(DocFlavor.INPUT_STREAM.PNG) ||
  357.18 -                flavor.equals(DocFlavor.URL.PNG)) {
  357.19 -
  357.20 +            if (flavor == null || isServiceFormattedFlavor(flavor)) {
  357.21                  Chromaticity[]arr = new Chromaticity[1];
  357.22                  arr[0] = Chromaticity.COLOR;
  357.23                  return (arr);
  357.24 @@ -730,18 +718,7 @@
  357.25              }
  357.26              return new RequestingUserName(userName, null);
  357.27          } else if (category == OrientationRequested.class) {
  357.28 -            if (flavor == null ||
  357.29 -                flavor.equals(DocFlavor.SERVICE_FORMATTED.PAGEABLE) ||
  357.30 -                flavor.equals(DocFlavor.SERVICE_FORMATTED.PRINTABLE) ||
  357.31 -                flavor.equals(DocFlavor.INPUT_STREAM.GIF) ||
  357.32 -                flavor.equals(DocFlavor.INPUT_STREAM.JPEG) ||
  357.33 -                flavor.equals(DocFlavor.INPUT_STREAM.PNG) ||
  357.34 -                flavor.equals(DocFlavor.BYTE_ARRAY.GIF) ||
  357.35 -                flavor.equals(DocFlavor.BYTE_ARRAY.JPEG) ||
  357.36 -                flavor.equals(DocFlavor.BYTE_ARRAY.PNG) ||
  357.37 -                flavor.equals(DocFlavor.URL.GIF) ||
  357.38 -                flavor.equals(DocFlavor.URL.JPEG) ||
  357.39 -                flavor.equals(DocFlavor.URL.PNG)) {
  357.40 +            if (flavor == null || isServiceFormattedFlavor(flavor)) {
  357.41                  OrientationRequested []arr = new OrientationRequested[3];
  357.42                  arr[0] = OrientationRequested.PORTRAIT;
  357.43                  arr[1] = OrientationRequested.LANDSCAPE;
  357.44 @@ -752,7 +729,14 @@
  357.45              }
  357.46          } else if ((category == Copies.class) ||
  357.47                     (category == CopiesSupported.class)) {
  357.48 -            return new CopiesSupported(1, MAXCOPIES);
  357.49 +            if (flavor == null ||
  357.50 +                !(flavor.equals(DocFlavor.INPUT_STREAM.POSTSCRIPT) ||
  357.51 +                  flavor.equals(DocFlavor.URL.POSTSCRIPT) ||
  357.52 +                  flavor.equals(DocFlavor.BYTE_ARRAY.POSTSCRIPT))) {
  357.53 +                return new CopiesSupported(1, MAXCOPIES);
  357.54 +            } else {
  357.55 +                return null;
  357.56 +            }
  357.57          } else if (category == Media.class) {
  357.58              Media []arr = new Media[mediaSizes.length];
  357.59              System.arraycopy(mediaSizes, 0, arr, 0, mediaSizes.length);
  357.60 @@ -917,8 +901,10 @@
  357.61              }
  357.62          }
  357.63          else if (attr.getCategory() == Copies.class) {
  357.64 -            return
  357.65 -                (flavor == null || isServiceFormattedFlavor(flavor)) &&
  357.66 +            return (flavor == null ||
  357.67 +                   !(flavor.equals(DocFlavor.INPUT_STREAM.POSTSCRIPT) ||
  357.68 +                     flavor.equals(DocFlavor.URL.POSTSCRIPT) ||
  357.69 +                     flavor.equals(DocFlavor.BYTE_ARRAY.POSTSCRIPT))) &&
  357.70                  isSupportedCopies((Copies)attr);
  357.71          } else if (attr.getCategory() == Destination.class) {
  357.72              URI uri = ((Destination)attr).getURI();
   358.1 --- a/src/solaris/native/sun/awt/fontpath.c	Wed Jan 14 21:35:03 2009 -0800
   358.2 +++ b/src/solaris/native/sun/awt/fontpath.c	Tue Jan 20 09:42:07 2009 -0800
   358.3 @@ -156,7 +156,7 @@
   358.4  
   358.5      isLocal = JNU_CallStaticMethodByName(env, NULL,
   358.6                                           "sun/awt/X11GraphicsEnvironment",
   358.7 -                                         "isDisplayLocal",
   358.8 +                                         "_isDisplayLocal",
   358.9                                           "()Z").z;
  358.10      isLocalSet = True;
  358.11      return isLocal;
  358.12 @@ -1233,7 +1233,7 @@
  358.13          for (j=0; j<nfonts; j++) {
  358.14              FcPattern *fontPattern = fontset->fonts[j];
  358.15              FcChar8 *fontformat;
  358.16 -            FcCharSet *unionCharset, *charset;
  358.17 +            FcCharSet *unionCharset = NULL, *charset;
  358.18  
  358.19              fontformat = NULL;
  358.20              (*FcPatternGetString)(fontPattern, FC_FONTFORMAT, 0, &fontformat);
  358.21 @@ -1256,7 +1256,7 @@
  358.22              if (nfonts==10) {
  358.23                  minGlyphs = 50;
  358.24              }
  358.25 -            if (j == 0) {
  358.26 +            if (unionCharset == NULL) {
  358.27                  unionCharset = charset;
  358.28              } else {
  358.29                  if ((*FcCharSetSubtractCount)(charset, unionCharset)
   359.1 --- a/src/solaris/native/sun/java2d/x11/X11SurfaceData.c	Wed Jan 14 21:35:03 2009 -0800
   359.2 +++ b/src/solaris/native/sun/java2d/x11/X11SurfaceData.c	Tue Jan 20 09:42:07 2009 -0800
   359.3 @@ -208,6 +208,23 @@
   359.4  #endif /* HEADLESS */
   359.5  }
   359.6  
   359.7 +
   359.8 +/*
   359.9 + * Class:     sun_java2d_x11_X11SurfaceData
  359.10 + * Method:    isShmPMAvailable
  359.11 + * Signature: ()Z
  359.12 + */
  359.13 +JNIEXPORT jboolean JNICALL
  359.14 +Java_sun_java2d_x11_X11SurfaceData_isShmPMAvailable(JNIEnv *env, jobject this)
  359.15 +{
  359.16 +#if defined(HEADLESS) || !defined(MITSHM)
  359.17 +    return JNI_FALSE;
  359.18 +#else
  359.19 +    return useMitShmPixmaps;
  359.20 +#endif /* HEADLESS, MITSHM */
  359.21 +}
  359.22 +
  359.23 +
  359.24  /*
  359.25   * Class:     sun_java2d_x11_X11SurfaceData
  359.26   * Method:    initOps
   360.1 --- a/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java	Wed Jan 14 21:35:03 2009 -0800
   360.2 +++ b/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java	Tue Jan 20 09:42:07 2009 -0800
   360.3 @@ -393,4 +393,9 @@
   360.4      private static void dwmCompositionChanged(boolean enabled) {
   360.5          isDWMCompositionEnabled = enabled;
   360.6      }
   360.7 +
   360.8 +    @Override
   360.9 +    public boolean isDisplayLocal() {
  360.10 +        return true;
  360.11 +    }
  360.12  }
   361.1 --- a/src/windows/classes/sun/java2d/d3d/D3DBlitLoops.java	Wed Jan 14 21:35:03 2009 -0800
   361.2 +++ b/src/windows/classes/sun/java2d/d3d/D3DBlitLoops.java	Tue Jan 20 09:42:07 2009 -0800
   361.3 @@ -85,6 +85,8 @@
   361.4                                     D3DSurfaceData.ST_INT_RGB),
   361.5              new D3DSwToSurfaceBlit(SurfaceType.IntBgr,
   361.6                                     D3DSurfaceData.ST_INT_BGR),
   361.7 +            new D3DSwToSurfaceBlit(SurfaceType.ThreeByteBgr,
   361.8 +                                   D3DSurfaceData.ST_3BYTE_BGR),
   361.9              new D3DSwToSurfaceBlit(SurfaceType.Ushort565Rgb,
  361.10                                     D3DSurfaceData.ST_USHORT_565_RGB),
  361.11              new D3DSwToSurfaceBlit(SurfaceType.Ushort555Rgb,
  361.12 @@ -106,6 +108,8 @@
  361.13                                      D3DSurfaceData.ST_INT_RGB),
  361.14              new D3DSwToSurfaceScale(SurfaceType.IntBgr,
  361.15                                      D3DSurfaceData.ST_INT_BGR),
  361.16 +            new D3DSwToSurfaceScale(SurfaceType.ThreeByteBgr,
  361.17 +                                    D3DSurfaceData.ST_3BYTE_BGR),
  361.18              new D3DSwToSurfaceScale(SurfaceType.Ushort565Rgb,
  361.19                                      D3DSurfaceData.ST_USHORT_565_RGB),
  361.20              new D3DSwToSurfaceScale(SurfaceType.Ushort555Rgb,
  361.21 @@ -124,6 +128,8 @@
  361.22                                          D3DSurfaceData.ST_INT_RGB),
  361.23              new D3DSwToSurfaceTransform(SurfaceType.IntBgr,
  361.24                                          D3DSurfaceData.ST_INT_BGR),
  361.25 +            new D3DSwToSurfaceTransform(SurfaceType.ThreeByteBgr,
  361.26 +                                        D3DSurfaceData.ST_3BYTE_BGR),
  361.27              new D3DSwToSurfaceTransform(SurfaceType.Ushort565Rgb,
  361.28                                          D3DSurfaceData.ST_USHORT_565_RGB),
  361.29              new D3DSwToSurfaceTransform(SurfaceType.Ushort555Rgb,
  361.30 @@ -147,6 +153,8 @@
  361.31                                     D3DSurfaceData.ST_INT_ARGB),
  361.32              new D3DSwToTextureBlit(SurfaceType.IntBgr,
  361.33                                     D3DSurfaceData.ST_INT_BGR),
  361.34 +            new D3DSwToTextureBlit(SurfaceType.ThreeByteBgr,
  361.35 +                                   D3DSurfaceData.ST_3BYTE_BGR),
  361.36              new D3DSwToTextureBlit(SurfaceType.Ushort565Rgb,
  361.37                                     D3DSurfaceData.ST_USHORT_565_RGB),
  361.38              new D3DSwToTextureBlit(SurfaceType.Ushort555Rgb,
   362.1 --- a/src/windows/classes/sun/java2d/d3d/D3DSurfaceData.java	Wed Jan 14 21:35:03 2009 -0800
   362.2 +++ b/src/windows/classes/sun/java2d/d3d/D3DSurfaceData.java	Tue Jan 20 09:42:07 2009 -0800
   362.3 @@ -135,6 +135,7 @@
   362.4      public static final int ST_USHORT_555_RGB  = 6;
   362.5      public static final int ST_BYTE_INDEXED    = 7;
   362.6      public static final int ST_BYTE_INDEXED_BM = 8;
   362.7 +    public static final int ST_3BYTE_BGR       = 9;
   362.8  
   362.9      /** Equals to D3DSWAPEFFECT_DISCARD */
  362.10      public static final int SWAP_DISCARD       = 1;
  362.11 @@ -501,12 +502,14 @@
  362.12       *   - the pixel shaders are available, and
  362.13       *   - blending is disabled, and
  362.14       *   - the source color is opaque
  362.15 +     *   - and the destination is opaque
  362.16       */
  362.17      public boolean canRenderLCDText(SunGraphics2D sg2d) {
  362.18          return
  362.19              graphicsDevice.isCapPresent(CAPS_LCD_SHADER) &&
  362.20              sg2d.compositeState <= SunGraphics2D.COMP_ISCOPY &&
  362.21 -            sg2d.paintState <= SunGraphics2D.PAINT_OPAQUECOLOR;
  362.22 +            sg2d.paintState <= SunGraphics2D.PAINT_OPAQUECOLOR   &&
  362.23 +            sg2d.surfaceData.getTransparency() == Transparency.OPAQUE;
  362.24      }
  362.25  
  362.26      public void validatePipe(SunGraphics2D sg2d) {
   363.1 --- a/src/windows/classes/sun/java2d/opengl/WGLGraphicsConfig.java	Wed Jan 14 21:35:03 2009 -0800
   363.2 +++ b/src/windows/classes/sun/java2d/opengl/WGLGraphicsConfig.java	Tue Jan 20 09:42:07 2009 -0800
   363.3 @@ -127,12 +127,14 @@
   363.4                  new WGLGetConfigInfo(device.getScreen(), pixfmt);
   363.5              rq.flushAndInvokeNow(action);
   363.6              cfginfo = action.getConfigInfo();
   363.7 -            OGLContext.setScratchSurface(cfginfo);
   363.8 -            rq.flushAndInvokeNow(new Runnable() {
   363.9 -                public void run() {
  363.10 -                    ids[0] = OGLContext.getOGLIdString();
  363.11 -                }
  363.12 -            });
  363.13 +            if (cfginfo != 0L) {
  363.14 +                OGLContext.setScratchSurface(cfginfo);
  363.15 +                rq.flushAndInvokeNow(new Runnable() {
  363.16 +                    public void run() {
  363.17 +                        ids[0] = OGLContext.getOGLIdString();
  363.18 +                    }
  363.19 +                });
  363.20 +            }
  363.21          } finally {
  363.22              rq.unlock();
  363.23          }
   364.1 --- a/src/windows/native/sun/font/fontpath.c	Wed Jan 14 21:35:03 2009 -0800
   364.2 +++ b/src/windows/native/sun/font/fontpath.c	Tue Jan 20 09:42:07 2009 -0800
   364.3 @@ -153,7 +153,8 @@
   364.4      JNIEnv *env = fmi->env;
   364.5      jstring fullname, fullnameLC;
   364.6  
   364.7 -    if (FontType != TRUETYPE_FONTTYPE) {
   364.8 +    /* Both Vista and XP return DEVICE_FONTTYPE for OTF fonts */
   364.9 +    if (FontType != TRUETYPE_FONTTYPE && FontType != DEVICE_FONTTYPE) {
  364.10          return 1;
  364.11      }
  364.12  
  364.13 @@ -227,7 +228,8 @@
  364.14      JNIEnv *env = fmi->env;
  364.15      jstring fullname, fullnameLC;
  364.16  
  364.17 -    if (FontType != TRUETYPE_FONTTYPE) {
  364.18 +    /* Both Vista and XP return DEVICE_FONTTYPE for OTF fonts */
  364.19 +    if (FontType != TRUETYPE_FONTTYPE && FontType != DEVICE_FONTTYPE) {
  364.20          return 1;
  364.21      }
  364.22  
  364.23 @@ -274,7 +276,8 @@
  364.24      jstring familyLC;
  364.25      LOGFONTA lfa;
  364.26  
  364.27 -    if (FontType != TRUETYPE_FONTTYPE) {
  364.28 +    /* Both Vista and XP return DEVICE_FONTTYPE for OTF fonts */
  364.29 +    if (FontType != TRUETYPE_FONTTYPE && FontType != DEVICE_FONTTYPE) {
  364.30          return 1;
  364.31      }
  364.32  
  364.33 @@ -323,7 +326,8 @@
  364.34      int slen;
  364.35      LOGFONTW lfw;
  364.36  
  364.37 -    if (FontType != TRUETYPE_FONTTYPE) {
  364.38 +    /* Both Vista and XP return DEVICE_FONTTYPE for OTF fonts */
  364.39 +    if (FontType != TRUETYPE_FONTTYPE && FontType != DEVICE_FONTTYPE) {
  364.40          return 1;
  364.41      }
  364.42  /*     wprintf(L"FAMILY=%s charset=%d FULL=%s\n", */
  364.43 @@ -383,15 +387,16 @@
  364.44   * Also if a Font has a name for this locale that name also
  364.45   * exists in the registry using the appropriate platform encoding.
  364.46   * What do we do then?
  364.47 + *
  364.48 + * Note: OpenType fonts seems to have " (TrueType)" suffix on Vista
  364.49 + *   but " (OpenType)" on XP.
  364.50   */
  364.51  
  364.52 -/* static const wchar_t W_TTSUFFIX[] = L" (TrueType)"; */
  364.53 -/* static const char C_TTSUFFIX[] = " (TrueType)"; */
  364.54 -/* static int TTSLEN = 11;  hard-coded - be careful */
  364.55 -static BOOL RegistryToBaseTTNameA(LPCSTR name) {
  364.56 +static BOOL RegistryToBaseTTNameA(LPSTR name) {
  364.57      static const char TTSUFFIX[] = " (TrueType)";
  364.58 +    static const char OTSUFFIX[] = " (OpenType)";
  364.59      int TTSLEN = strlen(TTSUFFIX);
  364.60 -    char *match;
  364.61 +    char *suffix;
  364.62  
  364.63      int len = strlen(name);
  364.64      if (len == 0) {
  364.65 @@ -403,19 +408,21 @@
  364.66      if (len <= TTSLEN) {
  364.67          return FALSE;
  364.68      }
  364.69 -    match = strstr(name, TTSUFFIX);
  364.70 -    if ((match != NULL) && (match == name+(len-TTSLEN))) {
  364.71 -        match[0] = '\0'; /* truncate name */
  364.72 +
  364.73 +    /* suffix length is the same for truetype and opentype fonts */
  364.74 +    suffix = name + len - TTSLEN;
  364.75 +    if (strcmp(suffix, TTSUFFIX) == 0 || strcmp(suffix, OTSUFFIX) == 0) {
  364.76 +        suffix[0] = '\0'; /* truncate name */
  364.77          return TRUE;
  364.78 -    } else {
  364.79 -        return FALSE;
  364.80      }
  364.81 +    return FALSE;
  364.82  }
  364.83  
  364.84  static BOOL RegistryToBaseTTNameW(LPWSTR name) {
  364.85      static const wchar_t TTSUFFIX[] = L" (TrueType)";
  364.86 +    static const wchar_t OTSUFFIX[] = L" (OpenType)";
  364.87      int TTSLEN = wcslen(TTSUFFIX);
  364.88 -    wchar_t *match;
  364.89 +    wchar_t *suffix;
  364.90  
  364.91      int len = wcslen(name);
  364.92      if (len == 0) {
  364.93 @@ -427,13 +434,13 @@
  364.94      if (len <= TTSLEN) {
  364.95          return FALSE;
  364.96      }
  364.97 -    match = wcsstr(name, TTSUFFIX);
  364.98 -    if ((match != NULL) && (match == name+(len-TTSLEN))) {
  364.99 -        match[0] = L'\0'; /* truncate name */
 364.100 +    /* suffix length is the same for truetype and opentype fonts */
 364.101 +    suffix = name + (len - TTSLEN);
 364.102 +    if (wcscmp(suffix, TTSUFFIX) == 0 || wcscmp(suffix, OTSUFFIX) == 0) {
 364.103 +        suffix[0] = L'\0'; /* truncate name */
 364.104          return TRUE;
 364.105 -    } else {
 364.106 -        return FALSE;
 364.107      }
 364.108 +    return FALSE;
 364.109  }
 364.110  
 364.111  static void registerFontA(GdiFontMapInfo *fmi, jobject fontToFileMap,
 364.112 @@ -675,18 +682,19 @@
 364.113          }
 364.114          if (IS_NT) {
 364.115              if (!RegistryToBaseTTNameW((LPWSTR)wname) ) {
 364.116 -                /* If the filename ends with ".ttf" also accept it.
 364.117 +                /* If the filename ends with ".ttf" or ".otf" also accept it.
 364.118                   * Not expecting to need to do this for .ttc files.
 364.119                   * Also note this code is not mirrored in the "A" (win9x) path.
 364.120                   */
 364.121                  LPWSTR dot = wcsrchr((LPWSTR)data, L'.');
 364.122 -                if (dot == NULL || (wcsicmp(dot, L".ttf") != 0)) {
 364.123 +                if (dot == NULL || ((wcsicmp(dot, L".ttf") != 0)
 364.124 +                                      && (wcsicmp(dot, L".otf") != 0))) {
 364.125                      continue;  /* not a TT font... */
 364.126                  }
 364.127              }
 364.128              registerFontW(&fmi, fontToFileMap, (LPWSTR)wname, (LPWSTR)data);
 364.129          } else {
 364.130 -            if (!RegistryToBaseTTNameA(cname) ) {
 364.131 +            if (!RegistryToBaseTTNameA((LPSTR)cname)) {
 364.132                  continue; /* not a TT font... */
 364.133              }
 364.134              registerFontA(&fmi, fontToFileMap, cname, (LPCSTR)data);
   365.1 --- a/src/windows/native/sun/java2d/d3d/D3DBadHardware.h	Wed Jan 14 21:35:03 2009 -0800
   365.2 +++ b/src/windows/native/sun/java2d/d3d/D3DBadHardware.h	Tue Jan 20 09:42:07 2009 -0800
   365.3 @@ -85,6 +85,19 @@
   365.4      { 0x1002, 0x71C5, D_VERSION(6,14,10,6706), OS_WINXP },
   365.5      { 0x1002, 0x71C5, D_VERSION(7,14,10,0567), OS_VISTA },
   365.6  
   365.7 +    // ATI Mobility Radeon 9700
   365.8 +    // Reason: workaround for 6773336
   365.9 +    { 0x1002, 0x4E50, D_VERSION(6,14,10,6561), OS_WINXP },
  365.10 +
  365.11 +    // Nvidia FX 5200
  365.12 +    // Reason: workaround for 6717988
  365.13 +    { 0x10DE, 0x0322, D_VERSION(6,14,11,6921), OS_WINXP },
  365.14 +
  365.15 +    // Nvidia FX Go5600, Go5700
  365.16 +    // Reason: workaround for 6714579
  365.17 +    { 0x10DE, 0x031A, D_VERSION(6,14,11,6921), OS_WINXP },
  365.18 +    { 0x10DE, 0x0347, D_VERSION(6,14,11,6921), OS_WINXP },
  365.19 +
  365.20      // Nvidia Quadro NVS 110M
  365.21      // Reason: workaround for 6629891
  365.22      { 0x10DE, 0x01D7, D_VERSION(6,14,11,5665), OS_WINXP },
  365.23 @@ -93,6 +106,32 @@
  365.24      // Reason: workaround for 6653860
  365.25      { 0x10DE, 0x00FD, D_VERSION(6,14,10,6573), OS_WINXP },
  365.26  
  365.27 +    // Nvidia Quadro FX family
  365.28 +    // Reason: workaround for 6772137
  365.29 +    { 0x10DE, 0x00F8, D_VERSION(6,14,10,9381), OS_WINXP },
  365.30 +    { 0x10DE, 0x009D, D_VERSION(6,14,10,9381), OS_WINXP },
  365.31 +    { 0x10DE, 0x029C, D_VERSION(6,14,10,9381), OS_WINXP },
  365.32 +    { 0x10DE, 0x029D, D_VERSION(6,14,10,9381), OS_WINXP },
  365.33 +    { 0x10DE, 0x029E, D_VERSION(6,14,10,9381), OS_WINXP },
  365.34 +    { 0x10DE, 0x029F, D_VERSION(6,14,10,9381), OS_WINXP },
  365.35 +    { 0x10DE, 0x01DE, D_VERSION(6,14,10,9381), OS_WINXP },
  365.36 +    { 0x10DE, 0x039E, D_VERSION(6,14,10,9381), OS_WINXP },
  365.37 +    { 0x10DE, 0x019D, D_VERSION(6,14,10,9381), OS_WINXP },
  365.38 +    { 0x10DE, 0x019E, D_VERSION(6,14,10,9381), OS_WINXP },
  365.39 +    { 0x10DE, 0x040A, D_VERSION(6,14,10,9381), OS_WINXP },
  365.40 +    { 0x10DE, 0x040E, D_VERSION(6,14,10,9381), OS_WINXP },
  365.41 +    { 0x10DE, 0x040F, D_VERSION(6,14,10,9381), OS_WINXP },
  365.42 +    { 0x10DE, 0x061A, D_VERSION(6,14,10,9381), OS_WINXP },
  365.43 +    { 0x10DE, 0x06F9, D_VERSION(6,14,10,9381), OS_WINXP },
  365.44 +    { 0x10DE, 0x05FD, D_VERSION(6,14,10,9381), OS_WINXP },
  365.45 +    { 0x10DE, 0x05FE, D_VERSION(6,14,10,9381), OS_WINXP },
  365.46 +    { 0x10DE, 0x004E, D_VERSION(6,14,10,9381), OS_WINXP },
  365.47 +    { 0x10DE, 0x00CD, D_VERSION(6,14,10,9381), OS_WINXP },
  365.48 +    { 0x10DE, 0x00CE, D_VERSION(6,14,10,9381), OS_WINXP },
  365.49 +    { 0x10DE, 0x014C, D_VERSION(6,14,10,9381), OS_WINXP },
  365.50 +    { 0x10DE, 0x014D, D_VERSION(6,14,10,9381), OS_WINXP },
  365.51 +    { 0x10DE, 0x014E, D_VERSION(6,14,10,9381), OS_WINXP },
  365.52 +
  365.53      // Nvidia GeForce 6200 TurboCache(TM)
  365.54      // Reason: workaround for 6588384
  365.55      { 0x10DE, 0x0161, NO_VERSION, OS_VISTA },
   366.1 --- a/src/windows/native/sun/java2d/d3d/D3DBlitLoops.cpp	Wed Jan 14 21:35:03 2009 -0800
   366.2 +++ b/src/windows/native/sun/java2d/d3d/D3DBlitLoops.cpp	Tue Jan 20 09:42:07 2009 -0800
   366.3 @@ -47,6 +47,7 @@
   366.4  extern "C" BlitFunc IntArgbPreToIntArgbConvert;
   366.5  extern "C" BlitFunc IntArgbBmToIntArgbConvert;
   366.6  extern "C" BlitFunc IntRgbToIntArgbConvert;
   366.7 +extern "C" BlitFunc ThreeByteBgrToIntArgbConvert;
   366.8  extern "C" BlitFunc Ushort565RgbToIntArgbConvert;
   366.9  extern "C" BlitFunc Ushort555RgbToIntArgbConvert;
  366.10  extern "C" BlitFunc IntBgrToIntArgbConvert;
  366.11 @@ -220,12 +221,17 @@
  366.12                  " srctype=%d rect={%-4d, %-4d, %-4d, %-4d}",
  366.13                  srctype, r.left, r.top, r.right, r.bottom);
  366.14  
  366.15 -    if (pDesc->Usage == D3DUSAGE_DYNAMIC &&
  366.16 -        dstx == 0 && dstx == 0 &&
  366.17 -        srcWidth == pDesc->Width && srcHeight == pDesc->Height)
  366.18 -    {
  366.19 +    if (pDesc->Usage == D3DUSAGE_DYNAMIC) {
  366.20 +        // it is safe to lock with discard because we don't care about the
  366.21 +        // contents of dynamic textures, and some drivers are happier if
  366.22 +        // dynamic textures are always locked with DISCARD
  366.23          dwLockFlags |= D3DLOCK_DISCARD;
  366.24          pR = NULL;
  366.25 +    } else {
  366.26 +        // in non-DYNAMIC case we lock the exact rect so there's no need to
  366.27 +        // offset the destination pointer
  366.28 +        dstx = 0;
  366.29 +        dsty = 0;
  366.30      }
  366.31  
  366.32      res = pDstSurface->LockRect(&lockedRect, pR, dwLockFlags);
  366.33 @@ -242,7 +248,9 @@
  366.34      void *pSrcBase = PtrCoord(pSrcInfo->rasBase,
  366.35                                srcx, pSrcInfo->pixelStride,
  366.36                                srcy, pSrcInfo->scanStride);
  366.37 -    void *pDstBase = lockedRect.pBits;
  366.38 +    void *pDstBase = PtrCoord(lockedRect.pBits,
  366.39 +                              dstx, dstInfo.pixelStride,
  366.40 +                              dsty, dstInfo.scanStride);
  366.41  
  366.42      switch (srctype) {
  366.43          case ST_INT_ARGB:
  366.44 @@ -251,11 +259,15 @@
  366.45                                         pSrcInfo, &dstInfo, NULL, NULL);
  366.46              break;
  366.47          case ST_INT_ARGB_PRE:
  366.48 -        case ST_INT_RGB:
  366.49              AnyIntIsomorphicCopy(pSrcBase, pDstBase,
  366.50                                   srcWidth, srcHeight,
  366.51                                   pSrcInfo, &dstInfo, NULL, NULL);
  366.52              break;
  366.53 +        case ST_INT_RGB:
  366.54 +            IntRgbToIntArgbConvert(pSrcBase, pDstBase,
  366.55 +                                   srcWidth, srcHeight,
  366.56 +                                   pSrcInfo, &dstInfo, NULL, NULL);
  366.57 +            break;
  366.58          case ST_INT_ARGB_BM:
  366.59              // REMIND: we don't have such sw loop
  366.60              // so this path is disabled for now on java level
  366.61 @@ -268,6 +280,11 @@
  366.62                                     srcWidth, srcHeight,
  366.63                                     pSrcInfo, &dstInfo, NULL, NULL);
  366.64              break;
  366.65 +        case ST_3BYTE_BGR:
  366.66 +            ThreeByteBgrToIntArgbConvert(pSrcBase, pDstBase,
  366.67 +                                         srcWidth, srcHeight,
  366.68 +                                         pSrcInfo, &dstInfo, NULL, NULL);
  366.69 +            break;
  366.70          case ST_USHORT_555_RGB:
  366.71              Ushort555RgbToIntArgbConvert(pSrcBase, pDstBase,
  366.72                                           srcWidth, srcHeight,
   367.1 --- a/src/windows/native/sun/java2d/d3d/D3DContext.cpp	Wed Jan 14 21:35:03 2009 -0800
   367.2 +++ b/src/windows/native/sun/java2d/d3d/D3DContext.cpp	Tue Jan 20 09:42:07 2009 -0800
   367.3 @@ -1174,11 +1174,10 @@
   367.4          " rect={%-4d, %-4d, %-4d, %-4d}",
   367.5          r.left, r.top, r.right, r.bottom);
   367.6  
   367.7 -    // REMIND: we should also check for dstx, dsty being 0 here,
   367.8 -    // but they're always 0 in dynamic texture case
   367.9 -    if (pDesc->Usage == D3DUSAGE_DYNAMIC &&
  367.10 -        srcWidth == pDesc->Width && srcHeight == pDesc->Height)
  367.11 -    {
  367.12 +    if (pDesc->Usage == D3DUSAGE_DYNAMIC) {
  367.13 +        // it is safe to lock with discard because we don't care about the
  367.14 +        // contents of dynamic textures and dstx,dsty for this case is
  367.15 +        // always 0,0 because we are uploading into a tile texture
  367.16          dwLockFlags |= D3DLOCK_DISCARD;
  367.17          pR = NULL;
  367.18      }
   368.1 --- a/src/windows/native/sun/java2d/d3d/D3DSurfaceData.h	Wed Jan 14 21:35:03 2009 -0800
   368.2 +++ b/src/windows/native/sun/java2d/d3d/D3DSurfaceData.h	Tue Jan 20 09:42:07 2009 -0800
   368.3 @@ -68,6 +68,7 @@
   368.4  #define ST_USHORT_555_RGB  sun_java2d_d3d_D3DSurfaceData_ST_USHORT_555_RGB
   368.5  #define ST_BYTE_INDEXED    sun_java2d_d3d_D3DSurfaceData_ST_BYTE_INDEXED
   368.6  #define ST_BYTE_INDEXED_BM sun_java2d_d3d_D3DSurfaceData_ST_BYTE_INDEXED_BM
   368.7 +#define ST_3BYTE_BGR       sun_java2d_d3d_D3DSurfaceData_ST_3BYTE_BGR
   368.8  
   368.9  /**
  368.10   * These are defined to be the same as ExtendedBufferCapabilities.VSyncType
   369.1 --- a/src/windows/native/sun/tools/attach/WindowsVirtualMachine.c	Wed Jan 14 21:35:03 2009 -0800
   369.2 +++ b/src/windows/native/sun/tools/attach/WindowsVirtualMachine.c	Tue Jan 20 09:42:07 2009 -0800
   369.3 @@ -345,7 +345,6 @@
   369.4      DataBlock data;
   369.5      DataBlock* pData;
   369.6      DWORD* pCode;
   369.7 -    DWORD numBytes;
   369.8      DWORD stubLen;
   369.9      HANDLE hProcess, hThread;
  369.10      jint argsLen, i;
  369.11 @@ -400,7 +399,7 @@
  369.12          JNU_ThrowIOExceptionWithLastError(env, "VirtualAllocEx failed");
  369.13          return;
  369.14      }
  369.15 -    WriteProcessMemory( hProcess, (LPVOID)pData, (LPVOID)&data, (DWORD)sizeof(DataBlock), &numBytes );
  369.16 +    WriteProcessMemory( hProcess, (LPVOID)pData, (LPCVOID)&data, (SIZE_T)sizeof(DataBlock), NULL );
  369.17  
  369.18  
  369.19      stubLen = (DWORD)(*env)->GetArrayLength(env, stub);
  369.20 @@ -412,7 +411,7 @@
  369.21          VirtualFreeEx(hProcess, pData, 0, MEM_RELEASE);
  369.22          return;
  369.23      }
  369.24 -    WriteProcessMemory( hProcess, (LPVOID)pCode, (LPVOID)stubCode, (DWORD)stubLen, &numBytes );
  369.25 +    WriteProcessMemory( hProcess, (LPVOID)pCode, (LPCVOID)stubCode, (SIZE_T)stubLen, NULL );
  369.26      if (isCopy) {
  369.27          (*env)->ReleaseByteArrayElements(env, stub, stubCode, JNI_ABORT);
  369.28      }
   370.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   370.2 +++ b/test/java/awt/FullScreen/UninitializedDisplayModeChangeTest/DisplayModeChanger.java	Tue Jan 20 09:42:07 2009 -0800
   370.3 @@ -0,0 +1,93 @@
   370.4 +/*
   370.5 + * Copyright 2006-2008 Sun Microsystems, Inc.  All Rights Reserved.
   370.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   370.7 + *
   370.8 + * This code is free software; you can redistribute it and/or modify it
   370.9 + * under the terms of the GNU General Public License version 2 only, as
  370.10 + * published by the Free Software Foundation.
  370.11 + *
  370.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  370.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  370.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  370.15 + * version 2 for more details (a copy is included in the LICENSE file that
  370.16 + * accompanied this code).
  370.17 + *
  370.18 + * You should have received a copy of the GNU General Public License version
  370.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  370.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  370.21 + *
  370.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  370.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
  370.24 + * have any questions.
  370.25 + */
  370.26 +
  370.27 +import java.awt.DisplayMode;
  370.28 +import java.awt.EventQueue;
  370.29 +import java.awt.Frame;
  370.30 +import java.awt.GraphicsDevice;
  370.31 +import java.awt.GraphicsEnvironment;
  370.32 +import java.lang.reflect.InvocationTargetException;
  370.33 +
  370.34 +/**
  370.35 + * Used by the UninitializedDisplayModeChangeTest to change the
  370.36 + * display mode.
  370.37 + */
  370.38 +public class DisplayModeChanger {
  370.39 +
  370.40 +    public static void main(String[] args)
  370.41 +        throws InterruptedException, InvocationTargetException
  370.42 +    {
  370.43 +        final GraphicsDevice gd =
  370.44 +            GraphicsEnvironment.getLocalGraphicsEnvironment().
  370.45 +                getDefaultScreenDevice();
  370.46 +
  370.47 +        EventQueue.invokeAndWait(new Runnable() {
  370.48 +            public void run() {
  370.49 +                Frame f = null;
  370.50 +                if (gd.isFullScreenSupported()) {
  370.51 +                    try {
  370.52 +                        f = new Frame("DisplayChanger Frame");
  370.53 +                        gd.setFullScreenWindow(f);
  370.54 +                        if (gd.isDisplayChangeSupported()) {
  370.55 +                            DisplayMode dm = findDisplayMode(gd);
  370.56 +                            if (gd != null) {
  370.57 +                                gd.setDisplayMode(dm);
  370.58 +                            }
  370.59 +                        }
  370.60 +                        try {
  370.61 +                            Thread.sleep(1000);
  370.62 +                        } catch (InterruptedException ex) {
  370.63 +                            ex.printStackTrace();
  370.64 +                        }
  370.65 +                        gd.setFullScreenWindow(null);
  370.66 +                    } finally {
  370.67 +                        if (f != null) {
  370.68 +                            f.dispose();
  370.69 +                        }
  370.70 +                    }
  370.71 +                }
  370.72 +            }
  370.73 +        });
  370.74 +    }
  370.75 +
  370.76 +    /**
  370.77 +     * Finds a display mode that is different from the current display
  370.78 +     * mode and is likely to cause a display change event.
  370.79 +     */
  370.80 +    private static DisplayMode findDisplayMode(GraphicsDevice gd) {
  370.81 +        DisplayMode dms[] = gd.getDisplayModes();
  370.82 +        DisplayMode currentDM = gd.getDisplayMode();
  370.83 +        for (DisplayMode dm : dms) {
  370.84 +            if (!dm.equals(currentDM) &&
  370.85 +                 dm.getRefreshRate() == currentDM.getRefreshRate())
  370.86 +            {
  370.87 +                // different from the current dm and refresh rate is the same
  370.88 +                // means that something else is different => more likely to
  370.89 +                // cause a DM change event
  370.90 +                return dm;
  370.91 +            }
  370.92 +        }
  370.93 +        return null;
  370.94 +    }
  370.95 +
  370.96 +}
   371.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   371.2 +++ b/test/java/awt/font/TextLayout/DecorationBoundsTest.java	Tue Jan 20 09:42:07 2009 -0800
   371.3 @@ -0,0 +1,98 @@
   371.4 +/*
   371.5 + * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
   371.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   371.7 + *
   371.8 + * This code is free software; you can redistribute it and/or modify it
   371.9 + * under the terms of the GNU General Public License version 2 only, as
  371.10 + * published by the Free Software Foundation.
  371.11 + *
  371.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  371.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  371.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  371.15 + * version 2 for more details (a copy is included in the LICENSE file that
  371.16 + * accompanied this code).
  371.17 + *
  371.18 + * You should have received a copy of the GNU General Public License version
  371.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  371.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  371.21 + *
  371.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  371.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
  371.24 + * have any questions.
  371.25 + */
  371.26 +
  371.27 +/* @test
  371.28 + * @summary verify bounds enclose rendering of decorations.
  371.29 + * @bug 6751621
  371.30 + */
  371.31 +
  371.32 +import java.awt.*;
  371.33 +import java.awt.font.*;
  371.34 +import java.awt.geom.*;
  371.35 +import java.awt.image.*;
  371.36 +import java.util.*;
  371.37 +
  371.38 +public class DecorationBoundsTest {
  371.39 +
  371.40 +    public static void main(String[] args) {
  371.41 +        BufferedImage bi =
  371.42 +           new BufferedImage(600, 300, BufferedImage.TYPE_INT_RGB);
  371.43 +       Graphics2D g2d = bi.createGraphics();
  371.44 +       g2d.setColor(Color.white);
  371.45 +       g2d.fillRect(0, 0, 600, 300);
  371.46 +
  371.47 +       float x = 10;
  371.48 +       float y = 90;
  371.49 +       Map map = new HashMap();
  371.50 +       map.put(TextAttribute.STRIKETHROUGH,
  371.51 +               TextAttribute.STRIKETHROUGH_ON);
  371.52 +       map.put(TextAttribute.SIZE, new Float(80));
  371.53 +
  371.54 +       FontRenderContext frc = g2d.getFontRenderContext();
  371.55 +
  371.56 +       String text = "Welcome to ";
  371.57 +       TextLayout tl = new TextLayout(text, map, frc);
  371.58 +       g2d.translate(x, y);
  371.59 +       g2d.setColor(Color.RED);
  371.60 +       tl.draw(g2d, 0, 0);
  371.61 +       g2d.setColor(Color.GREEN);
  371.62 +       Rectangle2D bds = tl.getBounds();
  371.63 +       /* Since due to pixelisation the glyphs may touch above
  371.64 +        * or below the theoretical outline bounds, pad in the
  371.65 +        * y direction to avoid spurious failures.
  371.66 +        */
  371.67 +       bds.setRect(bds.getX(), bds.getY()-1,
  371.68 +                   bds.getWidth(), bds.getHeight()+2);
  371.69 +       g2d.fill(bds);
  371.70 +
  371.71 +       map = new HashMap();
  371.72 +       map.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
  371.73 +       map.put(TextAttribute.SIZE, new Float(80));
  371.74 +       tl = new TextLayout(text, map, frc);
  371.75 +       g2d.translate(0, 100);
  371.76 +       g2d.setColor(Color.RED);
  371.77 +       tl.draw(g2d, 0, 0);
  371.78 +
  371.79 +       g2d.setColor(Color.GREEN);
  371.80 +       bds = tl.getBounds();
  371.81 +       bds.setRect(bds.getX(), bds.getY()-1,
  371.82 +                   bds.getWidth(), bds.getHeight()+2);
  371.83 +       g2d.fill(bds);
  371.84 +
  371.85 +       checkBI(bi, Color.RED);
  371.86 +   }
  371.87 +
  371.88 +   static void checkBI(BufferedImage bi, Color badColor) {
  371.89 +      int badrgb = badColor.getRGB();
  371.90 +      int w = bi.getWidth(null);
  371.91 +      int h = bi.getHeight(null);
  371.92 +      for (int x=0; x<w; x++) {
  371.93 +          for (int y=0; y<h; y++) {
  371.94 +             int col = bi.getRGB(x, y);
  371.95 +             if (col == badrgb) {
  371.96 +                  throw new RuntimeException("Got " + col);
  371.97 +             }
  371.98 +          }
  371.99 +      }
 371.100 +   }
 371.101 +}
   372.1 --- a/test/java/awt/font/TextLayout/TextLayoutBounds.java	Wed Jan 14 21:35:03 2009 -0800
   372.2 +++ b/test/java/awt/font/TextLayout/TextLayoutBounds.java	Tue Jan 20 09:42:07 2009 -0800
   372.3 @@ -22,7 +22,7 @@
   372.4   */
   372.5  /* @test
   372.6   * @summary verify TextLayout.getBounds() return visual bounds
   372.7 - * @bug 6323611
   372.8 + * @bug 6323611 6761856
   372.9   */
  372.10  
  372.11  import java.awt.*;
  372.12 @@ -39,10 +39,15 @@
  372.13         Rectangle2D tlBounds = tl.getBounds();
  372.14         GlyphVector gv = f.createGlyphVector(frc, s);
  372.15         Rectangle2D gvvBounds = gv.getVisualBounds();
  372.16 +       Rectangle2D oBounds = tl.getOutline(null).getBounds2D();
  372.17         System.out.println("tlbounds="+tlBounds);
  372.18         System.out.println("gvbounds="+gvvBounds);
  372.19 +       System.out.println("outlineBounds="+oBounds);
  372.20         if (!gvvBounds.equals(tlBounds)) {
  372.21 -          throw new RuntimeException("Bounds differ");
  372.22 +          throw new RuntimeException("Bounds differ [gvv != tl]");
  372.23 +       }
  372.24 +       if (!tlBounds.equals(oBounds)) {
  372.25 +          throw new RuntimeException("Bounds differ [tl != outline]");
  372.26         }
  372.27      }
  372.28  }
   373.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   373.2 +++ b/test/java/awt/font/TextLayout/UnderlinePositionTest.java	Tue Jan 20 09:42:07 2009 -0800
   373.3 @@ -0,0 +1,88 @@
   373.4 +/*
   373.5 + * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
   373.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   373.7 + *
   373.8 + * This code is free software; you can redistribute it and/or modify it
   373.9 + * under the terms of the GNU General Public License version 2 only, as
  373.10 + * published by the Free Software Foundation.
  373.11 + *
  373.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  373.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  373.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  373.15 + * version 2 for more details (a copy is included in the LICENSE file that
  373.16 + * accompanied this code).
  373.17 + *
  373.18 + * You should have received a copy of the GNU General Public License version
  373.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  373.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  373.21 + *
  373.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  373.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
  373.24 + * have any questions.
  373.25 + */
  373.26 +
  373.27 +/* @test
  373.28 + * @summary verify outline and stroking of underline match.
  373.29 + * @bug 6751616
  373.30 + */
  373.31 +
  373.32 +import java.awt.*;
  373.33 +import java.awt.font.*;
  373.34 +import java.awt.geom.*;
  373.35 +import java.awt.image.*;
  373.36 +import java.util.*;
  373.37 +
  373.38 +public class UnderlinePositionTest {
  373.39 +
  373.40 +    public static void main(String[] args) {
  373.41 +        BufferedImage bi =
  373.42 +           new BufferedImage(600, 150, BufferedImage.TYPE_INT_RGB);
  373.43 +       Graphics2D g2d = bi.createGraphics();
  373.44 +       g2d.setColor(Color.white);
  373.45 +       g2d.fillRect(0, 0, 600, 150);
  373.46 +
  373.47 +       float x = 10;
  373.48 +       float y = 90;
  373.49 +       Map map = new HashMap();
  373.50 +       map.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
  373.51 +       map.put(TextAttribute.SIZE, new Float(80));
  373.52 +
  373.53 +       FontRenderContext frc = g2d.getFontRenderContext();
  373.54 +
  373.55 +       // Use all spaces for the text so we know we are dealing
  373.56 +       // only with pixels from the underline.
  373.57 +       String text = "           ";
  373.58 +       TextLayout tl = new TextLayout(text, map, frc);
  373.59 +       Shape outline = tl.getOutline(null);
  373.60 +       Rectangle2D bounds = outline.getBounds();
  373.61 +
  373.62 +       g2d.translate(x, y);
  373.63 +       g2d.setColor(Color.RED);
  373.64 +       tl.draw(g2d, 0, 0);
  373.65 +
  373.66 +       /* By getting the outline, then its bounds, then filling
  373.67 +        * according to the same pixelisation rules, this ought to
  373.68 +        * match the position of the original underline. If any
  373.69 +        * red pixels are left, then the test will fail.
  373.70 +        */
  373.71 +       g2d.setColor(Color.BLUE);
  373.72 +       g2d.fill(bounds);
  373.73 +       g2d.dispose();
  373.74 +
  373.75 +       checkBI(bi, Color.RED);
  373.76 +   }
  373.77 +
  373.78 +   static void checkBI(BufferedImage bi, Color badColor) {
  373.79 +      int badrgb = badColor.getRGB();
  373.80 +      int w = bi.getWidth(null);
  373.81 +      int h = bi.getHeight(null);
  373.82 +      for (int x=0; x<w; x++) {
  373.83 +          for (int y=0; y<h; y++) {
  373.84 +             int col = bi.getRGB(x, y);
  373.85 +             if (col == badrgb) {
  373.86 +                  throw new RuntimeException("Got " + col);
  373.87 +             }
  373.88 +          }
  373.89 +      }
  373.90 +   }
  373.91 +}
   374.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   374.2 +++ b/test/java/awt/print/PrinterJob/GetMediasTest.java	Tue Jan 20 09:42:07 2009 -0800
   374.3 @@ -0,0 +1,46 @@
   374.4 +/*
   374.5 + * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
   374.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   374.7 + *
   374.8 + * This code is free software; you can redistribute it and/or modify it
   374.9 + * under the terms of the GNU General Public License version 2 only, as
  374.10 + * published by the Free Software Foundation.
  374.11 + *
  374.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  374.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  374.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  374.15 + * version 2 for more details (a copy is included in the LICENSE file that
  374.16 + * accompanied this code).
  374.17 + *
  374.18 + * You should have received a copy of the GNU General Public License version
  374.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  374.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  374.21 + *
  374.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  374.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
  374.24 + * have any questions.
  374.25 + */
  374.26 +
  374.27 +/**
  374.28 + * @test
  374.29 + * @bug 6653384
  374.30 + * @summary No exception should be thrown.
  374.31 + * @run main GetMediasTest
  374.32 + */
  374.33 +import javax.print.PrintService;
  374.34 +import javax.print.PrintServiceLookup;
  374.35 +import javax.print.attribute.standard.Media;
  374.36 +
  374.37 +public class GetMediasTest {
  374.38 +    public static void main(String[] args) {
  374.39 +        PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null);
  374.40 +        for(final PrintService service: services) {
  374.41 +            Thread thread = new Thread() {
  374.42 +                public void run() {
  374.43 +                    service.getSupportedAttributeValues(Media.class, null, null);
  374.44 +                }
  374.45 +            };
  374.46 +            thread.start();
  374.47 +        }
  374.48 +    }
  374.49 +}
   375.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   375.2 +++ b/test/java/io/readBytes/MemoryLeak.java	Tue Jan 20 09:42:07 2009 -0800
   375.3 @@ -0,0 +1,51 @@
   375.4 +/*
   375.5 + * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
   375.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   375.7 + *
   375.8 + * This code is free software; you can redistribute it and/or modify it
   375.9 + * under the terms of the GNU General Public License version 2 only, as
  375.10 + * published by the Free Software Foundation.
  375.11 + *
  375.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  375.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  375.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  375.15 + * version 2 for more details (a copy is included in the LICENSE file that
  375.16 + * accompanied this code).
  375.17 + *
  375.18 + * You should have received a copy of the GNU General Public License version
  375.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  375.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  375.21 + *
  375.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  375.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
  375.24 + * have any questions.
  375.25 + */
  375.26 +
  375.27 +/*
  375.28 + * @test
  375.29 + * @bug 6791458
  375.30 + * @summary Reading from closed input files leaks native memory
  375.31 + */
  375.32 +
  375.33 +import java.io.*;
  375.34 +
  375.35 +public class MemoryLeak {
  375.36 +    public static void main(String[] args) throws Throwable {
  375.37 +        byte[] bytes = new byte[1 << 20];
  375.38 +        String dir = System.getProperty("test.src", ".");
  375.39 +        File testFile = new File(dir, "input.txt");
  375.40 +        FileInputStream s = new FileInputStream(testFile);
  375.41 +        s.close();
  375.42 +        for (int i = 0; i < 10000; i++) {
  375.43 +            try {
  375.44 +                s.read(bytes);
  375.45 +                throw new Error("expected IOException");
  375.46 +            } catch (IOException _) {
  375.47 +                /* OK */
  375.48 +            } catch (OutOfMemoryError oome) {
  375.49 +                System.out.printf("Got OutOfMemoryError, i=%d%n", i);
  375.50 +                throw oome;
  375.51 +            }
  375.52 +        }
  375.53 +    }
  375.54 +}
   376.1 --- a/test/java/io/readBytes/ReadBytesBounds.java	Wed Jan 14 21:35:03 2009 -0800
   376.2 +++ b/test/java/io/readBytes/ReadBytesBounds.java	Tue Jan 20 09:42:07 2009 -0800
   376.3 @@ -22,107 +22,76 @@
   376.4   */
   376.5  
   376.6  /*
   376.7 -  @test
   376.8 -  @bug 4017728 4079849
   376.9 -  @summary Check for correct Array Bounds check in read of FileInputStream and
  376.10 -  RandomAccessFile
  376.11 -  */
  376.12 + * @test
  376.13 + * @bug 4017728 4079849 6788196
  376.14 + * @summary Check for correct Array Bounds check in read of FileInputStream and
  376.15 + * RandomAccessFile
  376.16 + */
  376.17  
  376.18  import java.io.*;
  376.19  
  376.20 -
  376.21  /*
  376.22 - * The test calls the read(byte buf[] , int off , int len) of FileInputStream with
  376.23 - * different values of off and len to see if the ArrayOutOfBoundsException is
  376.24 - * thrown according to the JLS1.0 specification.  The read(...) method calls
  376.25 - * readBytes(...) in native code(io_util.c).  The read(...) method in RandomAccessFile
  376.26 - * also calls the same native method.  So one should see similar results.
  376.27 + * The test calls the read(byte buf[] , int off , int len) of
  376.28 + * FileInputStream with different values of off and len to see if the
  376.29 + * IndexOutOfBoundsException is thrown.  The read(...) method calls
  376.30 + * readBytes(...) in native code(io_util.c).  The read(...) method in
  376.31 + * RandomAccessFile also calls the same native method.  So one should
  376.32 + * see similar results.
  376.33   */
  376.34  
  376.35 -
  376.36  public class ReadBytesBounds {
  376.37  
  376.38 -    public static void main(String argv[]) throws Exception{
  376.39 +    static final FileInputStream fis;
  376.40 +    static final RandomAccessFile raf;
  376.41 +    static final byte[] b = new byte[32];
  376.42  
  376.43 -        int num_test_cases = 12;
  376.44 -        int off[] =     {-1 , -1 ,  0 , 0  , 33 , 33 , 0  , 32 , 32 , 4  , 1  , 0};
  376.45 -        int len[] =     {-1 ,  0 , -1 , 33 , 0  , 4  , 32 , 0  , 4  , 16 , 31 , 0};
  376.46 -        boolean results[] = { false ,  false ,  false , false  , false  , false  ,
  376.47 -                              true  , true  , false  , true  , true  , true};
  376.48 +    static {
  376.49 +        try {
  376.50 +            String dir = System.getProperty("test.src", ".");
  376.51 +            File testFile = new File(dir, "input.txt");
  376.52 +            fis = new FileInputStream(testFile);
  376.53 +            raf = new RandomAccessFile(testFile , "r");
  376.54 +        } catch (Throwable t) {
  376.55 +            throw new Error(t);
  376.56 +        }
  376.57 +    }
  376.58  
  376.59 +    public static void main(String argv[]) throws Throwable {
  376.60 +        byte b[] = new byte[32];
  376.61 +        testRead(-1, -1, false);
  376.62 +        testRead(-1,  0, false);
  376.63 +        testRead( 0, -1, false);
  376.64 +        testRead( 0, 33, false);
  376.65 +        testRead(33,  0, false);
  376.66 +        testRead(33,  4, false);
  376.67 +        testRead( 0, 32, true);
  376.68 +        testRead(32,  0, true);
  376.69 +        testRead(32,  4, false);
  376.70 +        testRead( 4, 16, true);
  376.71 +        testRead( 1, 31, true);
  376.72 +        testRead( 0,  0, true);
  376.73 +        testRead(31,  Integer.MAX_VALUE, false);
  376.74 +        testRead( 0,  Integer.MAX_VALUE, false);
  376.75 +        testRead(-1,  Integer.MAX_VALUE, false);
  376.76 +        testRead(-4,  Integer.MIN_VALUE, false);
  376.77 +        testRead( 0,  Integer.MIN_VALUE, false);
  376.78 +    }
  376.79  
  376.80 -        FileInputStream fis = null;
  376.81 -        RandomAccessFile raf = null;
  376.82 -        byte b[] = new byte[32];
  376.83 -
  376.84 -        int num_good = 0;
  376.85 -        int num_bad = 0;
  376.86 -
  376.87 -        String dir = System.getProperty("test.src", ".");
  376.88 -        File testFile = new File(dir, "input.txt");
  376.89 -        fis = new FileInputStream(testFile);
  376.90 -        for(int i = 0; i < num_test_cases; i++) {
  376.91 -
  376.92 -            try {
  376.93 -                int bytes_read = fis.read(b , off[i] , len[i]);
  376.94 -            } catch(IndexOutOfBoundsException aiobe) {
  376.95 -                if (results[i]) {
  376.96 -                    throw new RuntimeException("Unexpected result");
  376.97 -                }
  376.98 -                else {
  376.99 -                    num_good++;
 376.100 -                }
 376.101 -                continue;
 376.102 -            }
 376.103 -
 376.104 -            if (results[i]) {
 376.105 -                num_good++;
 376.106 -            }
 376.107 -            else {
 376.108 -                throw new RuntimeException("Unexpected result");
 376.109 -            }
 376.110 -
 376.111 -        }
 376.112 -        System.out.println("Results for FileInputStream.read");
 376.113 -        System.out.println("\nTotal number of test cases = " + num_test_cases +
 376.114 -                           "\nNumber succeded = " + num_good +
 376.115 -                           "\nNumber failed   = " + num_bad);
 376.116 -
 376.117 -
 376.118 -
 376.119 -        num_good = 0;
 376.120 -        num_bad = 0;
 376.121 -
 376.122 -        raf = new RandomAccessFile(testFile , "r");
 376.123 -        for(int i = 0; i < num_test_cases; i++) {
 376.124 -
 376.125 -            try {
 376.126 -                int bytes_read = raf.read(b , off[i] , len[i]);
 376.127 -            } catch(IndexOutOfBoundsException aiobe) {
 376.128 -                if (results[i]) {
 376.129 -                    throw new RuntimeException("Unexpected result");
 376.130 -                }
 376.131 -                else {
 376.132 -                    num_good++;
 376.133 -                }
 376.134 -                continue;
 376.135 -            }
 376.136 -
 376.137 -            if (results[i]) {
 376.138 -                num_good++;
 376.139 -            }
 376.140 -            else {
 376.141 -                throw new RuntimeException("Unexpected result");
 376.142 -            }
 376.143 -
 376.144 +    static void testRead(int off, int len, boolean expected) throws Throwable {
 376.145 +        System.err.printf("off=%d len=%d expected=%b%n", off, len, expected);
 376.146 +        boolean result;
 376.147 +        try {
 376.148 +            fis.read(b, off, len);
 376.149 +            raf.read(b, off, len);
 376.150 +            result = true;
 376.151 +        } catch (IndexOutOfBoundsException e) {
 376.152 +            result = false;
 376.153          }
 376.154  
 376.155 -        System.out.println("Results for RandomAccessFile.read");
 376.156 -        System.out.println("\nTotal number of test cases = " + num_test_cases +
 376.157 -                           "\nNumber succeded = " + num_good +
 376.158 -                           "\nNumber failed   = " + num_bad);
 376.159 -
 376.160 -
 376.161 +        if (result != expected) {
 376.162 +            throw new RuntimeException
 376.163 +                (String.format("Unexpected result off=%d len=%d expected=%b",
 376.164 +                               off, len, expected));
 376.165 +        }
 376.166      }
 376.167 -
 376.168  }
   377.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   377.2 +++ b/test/javax/imageio/plugins/png/ITXtTest.java	Tue Jan 20 09:42:07 2009 -0800
   377.3 @@ -0,0 +1,236 @@
   377.4 +/*
   377.5 + * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
   377.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   377.7 + *
   377.8 + * This code is free software; you can redistribute it and/or modify it
   377.9 + * under the terms of the GNU General Public License version 2 only, as
  377.10 + * published by the Free Software Foundation.
  377.11 + *
  377.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  377.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  377.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  377.15 + * version 2 for more details (a copy is included in the LICENSE file that
  377.16 + * accompanied this code).
  377.17 + *
  377.18 + * You should have received a copy of the GNU General Public License version
  377.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  377.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  377.21 + *
  377.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  377.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
  377.24 + * have any questions.
  377.25 + */
  377.26 +
  377.27 +/**
  377.28 + * @test
  377.29 + * @bug     6541476
  377.30 + * @summary Test verifies that ImageIO PNG plugin correcly handles the
  377.31 + *          iTxt chunk (International textual data).
  377.32 + *
  377.33 + * @run     main ITXtTest
  377.34 + */
  377.35 +
  377.36 +
  377.37 +import java.awt.Color;
  377.38 +import java.awt.Graphics2D;
  377.39 +import java.awt.image.BufferedImage;
  377.40 +import java.io.File;
  377.41 +
  377.42 +import javax.imageio.ImageIO;
  377.43 +import javax.imageio.ImageReader;
  377.44 +import javax.imageio.IIOImage;
  377.45 +import javax.imageio.ImageTypeSpecifier;
  377.46 +import javax.imageio.ImageWriter;
  377.47 +import javax.imageio.metadata.IIOMetadata;
  377.48 +import javax.imageio.metadata.IIOMetadataNode;
  377.49 +import javax.imageio.stream.ImageOutputStream;
  377.50 +import javax.imageio.stream.ImageInputStream;
  377.51 +
  377.52 +import org.w3c.dom.Node;
  377.53 +
  377.54 +public class ITXtTest {
  377.55 +    static public void main(String args[]) {
  377.56 +        ITXtTest t_en = new ITXtTest();
  377.57 +        t_en.description = "xml - en";
  377.58 +        t_en.keyword = "XML:com.adobe.xmp";
  377.59 +        t_en.isCompressed = false;
  377.60 +        t_en.compression = 0;
  377.61 +        t_en.language = "en";
  377.62 +        t_en.trasKeyword = "XML:com.adobe.xmp";
  377.63 +        t_en.text = "<xml>Something</xml>";
  377.64 +
  377.65 +        doTest(t_en);
  377.66 +
  377.67 +        // check compression case
  377.68 +        t_en.isCompressed = true;
  377.69 +        t_en.description = "xml - en - compressed";
  377.70 +
  377.71 +        doTest(t_en);
  377.72 +
  377.73 +        ITXtTest t_ru = new ITXtTest();
  377.74 +        t_ru.description = "xml - ru";
  377.75 +        t_ru.keyword = "XML:com.adobe.xmp";
  377.76 +        t_ru.isCompressed = false;
  377.77 +        t_ru.compression = 0;
  377.78 +        t_ru.language = "ru";
  377.79 +        t_ru.trasKeyword = "\u0410\u0410\u0410\u0410\u0410 XML";
  377.80 +        t_ru.text = "<xml>\u042A\u042F\u042F\u042F\u042F\u042F\u042F</xml>";
  377.81 +
  377.82 +        doTest(t_ru);
  377.83 +
  377.84 +        t_ru.isCompressed = true;
  377.85 +        t_ru.description = "xml - ru - compressed";
  377.86 +
  377.87 +        doTest(t_ru);
  377.88 +    }
  377.89 +
  377.90 +
  377.91 +    String description;
  377.92 +
  377.93 +    String keyword;
  377.94 +    boolean isCompressed;
  377.95 +    int compression;
  377.96 +    String language;
  377.97 +    String trasKeyword;
  377.98 +    String text;
  377.99 +
 377.100 +
 377.101 +    public IIOMetadataNode getNode() {
 377.102 +        IIOMetadataNode iTXt = new IIOMetadataNode("iTXt");
 377.103 +        IIOMetadataNode iTXtEntry = new IIOMetadataNode("iTXtEntry");
 377.104 +        iTXtEntry.setAttribute("keyword", keyword);
 377.105 +        iTXtEntry.setAttribute("compressionFlag",
 377.106 +                               isCompressed ? "true" : "false");
 377.107 +        iTXtEntry.setAttribute("compressionMethod",
 377.108 +                               Integer.toString(compression));
 377.109 +        iTXtEntry.setAttribute("languageTag", language);
 377.110 +        iTXtEntry.setAttribute("translatedKeyword",
 377.111 +                               trasKeyword);
 377.112 +        iTXtEntry.setAttribute("text", text);
 377.113 +        iTXt.appendChild(iTXtEntry);
 377.114 +        return iTXt;
 377.115 +    }
 377.116 +
 377.117 +    public static ITXtTest getFromNode(IIOMetadataNode n) {
 377.118 +        ITXtTest t = new ITXtTest();
 377.119 +
 377.120 +        if (!"iTXt".equals(n.getNodeName())) {
 377.121 +            throw new RuntimeException("Invalid node");
 377.122 +        }
 377.123 +        IIOMetadataNode e = (IIOMetadataNode)n.getFirstChild();
 377.124 +        if (!"iTXtEntry".equals(e.getNodeName())) {
 377.125 +            throw new RuntimeException("Invalid entry node");
 377.126 +        }
 377.127 +        t.keyword = e.getAttribute("keyword");
 377.128 +        t.isCompressed =
 377.129 +            (Integer.valueOf(e.getAttribute("compressionFlag")).intValue() == 1);
 377.130 +        t.compression =
 377.131 +            Integer.valueOf(e.getAttribute("compressionMethod")).intValue();
 377.132 +        t.language = e.getAttribute("languageTag");
 377.133 +        t.trasKeyword = e.getAttribute("translatedKeyword");
 377.134 +        t.text = e.getAttribute("text");
 377.135 +
 377.136 +        return t;
 377.137 +    }
 377.138 +
 377.139 +    @Override
 377.140 +    public boolean equals(Object o) {
 377.141 +        if (! (o instanceof ITXtTest)) {
 377.142 +            return false;
 377.143 +        }
 377.144 +        ITXtTest t = (ITXtTest)o;
 377.145 +        if (!keyword.equals(t.keyword)) { return false; }
 377.146 +        if (isCompressed != t.isCompressed) { return false; }
 377.147 +        if (compression != t.compression) { return false; }
 377.148 +        if (!language.equals(t.language)) { return false; }
 377.149 +        if (!trasKeyword.equals(t.trasKeyword)) { return false; }
 377.150 +        if (!text.equals(t.text)) { return false; }
 377.151 +
 377.152 +        return true;
 377.153 +    }
 377.154 +
 377.155 +
 377.156 +
 377.157 +    private static void doTest(ITXtTest src) {
 377.158 +
 377.159 +        System.out.println("Test: " + src.description);
 377.160 +
 377.161 +        File file = new File("test.png");
 377.162 +
 377.163 +        writeTo(file, src);
 377.164 +        ITXtTest dst = readFrom(file);
 377.165 +
 377.166 +        if (dst == null || !dst.equals(src)) {
 377.167 +            throw new RuntimeException("Test failed.");
 377.168 +        }
 377.169 +
 377.170 +        System.out.println("Test passed.");
 377.171 +    }
 377.172 +
 377.173 +    private static void writeTo(File f, ITXtTest t) {
 377.174 +        BufferedImage src = createBufferedImage();
 377.175 +        try {
 377.176 +            ImageOutputStream imageOutputStream =
 377.177 +                ImageIO.createImageOutputStream(f);
 377.178 +
 377.179 +            ImageTypeSpecifier imageTypeSpecifier =
 377.180 +                new ImageTypeSpecifier(src);
 377.181 +            ImageWriter imageWriter =
 377.182 +                ImageIO.getImageWritersByFormatName("PNG").next();
 377.183 +
 377.184 +            imageWriter.setOutput(imageOutputStream);
 377.185 +
 377.186 +            IIOMetadata m =
 377.187 +                imageWriter.getDefaultImageMetadata(imageTypeSpecifier, null);
 377.188 +
 377.189 +            String format = m.getNativeMetadataFormatName();
 377.190 +            Node root = m.getAsTree(format);
 377.191 +
 377.192 +            IIOMetadataNode iTXt = t.getNode();
 377.193 +            root.appendChild(iTXt);
 377.194 +            m.setFromTree(format, root);
 377.195 +
 377.196 +            imageWriter.write(new IIOImage(src, null, m));
 377.197 +            imageOutputStream.close();
 377.198 +            System.out.println("Writing done.");
 377.199 +        } catch (Throwable e) {
 377.200 +            throw new RuntimeException("Writing test failed.", e);
 377.201 +        }
 377.202 +    }
 377.203 +
 377.204 +    private static ITXtTest readFrom(File f) {
 377.205 +        try {
 377.206 +            ImageInputStream iis = ImageIO.createImageInputStream(f);
 377.207 +            ImageReader r = ImageIO.getImageReaders(iis).next();
 377.208 +            r.setInput(iis);
 377.209 +
 377.210 +            IIOImage dst = r.readAll(0, null);
 377.211 +
 377.212 +            // look for iTXt node
 377.213 +            IIOMetadata m = dst.getMetadata();
 377.214 +            Node root = m.getAsTree(m.getNativeMetadataFormatName());
 377.215 +            Node n = root.getFirstChild();
 377.216 +            while (n != null && !"iTXt".equals(n.getNodeName())) {
 377.217 +                n = n.getNextSibling();
 377.218 +            }
 377.219 +            if (n == null) {
 377.220 +                throw new RuntimeException("No iTXt node!");
 377.221 +            }
 377.222 +            ITXtTest t = ITXtTest.getFromNode((IIOMetadataNode)n);
 377.223 +            return t;
 377.224 +        } catch (Throwable e) {
 377.225 +            throw new RuntimeException("Reading test failed.", e);
 377.226 +        }
 377.227 +    }
 377.228 +
 377.229 +    private static BufferedImage createBufferedImage() {
 377.230 +        BufferedImage image = new BufferedImage(128, 128,
 377.231 +                      BufferedImage.TYPE_4BYTE_ABGR_PRE);
 377.232 +        Graphics2D graph = image.createGraphics();
 377.233 +        graph.setPaintMode();
 377.234 +        graph.setColor(Color.orange);
 377.235 +        graph.fillRect(32, 32, 64, 64);
 377.236 +        graph.dispose();
 377.237 +        return image;
 377.238 +    }
 377.239 +}
   378.1 --- a/test/javax/management/Introspector/AnnotatedNotificationInfoTest.java	Wed Jan 14 21:35:03 2009 -0800
   378.2 +++ b/test/javax/management/Introspector/AnnotatedNotificationInfoTest.java	Tue Jan 20 09:42:07 2009 -0800
   378.3 @@ -38,19 +38,34 @@
   378.4  import javax.management.Description;
   378.5  import javax.management.Descriptor;
   378.6  import javax.management.ImmutableDescriptor;
   378.7 +import javax.management.ListenerNotFoundException;
   378.8  import javax.management.MBean;
   378.9  import javax.management.MBeanInfo;
  378.10  import javax.management.MBeanNotificationInfo;
  378.11  import javax.management.MBeanServer;
  378.12  import javax.management.MXBean;
  378.13 +import javax.management.Notification;
  378.14 +import javax.management.NotificationBroadcaster;
  378.15  import javax.management.NotificationBroadcasterSupport;
  378.16 +import javax.management.NotificationFilter;
  378.17  import javax.management.NotificationInfo;
  378.18  import javax.management.NotificationInfos;
  378.19 +import javax.management.NotificationListener;
  378.20  import javax.management.ObjectName;
  378.21  import javax.management.SendNotification;
  378.22  
  378.23  public class AnnotatedNotificationInfoTest {
  378.24 -    // Data for the first test.  This tests that MBeanNotificationInfo
  378.25 +
  378.26 +    static final Descriptor expectedDescriptor = new ImmutableDescriptor(
  378.27 +            "foo=bar", "descriptionResourceBundleBaseName=bundle",
  378.28 +            "descriptionResourceKey=key");
  378.29 +    static final MBeanNotificationInfo expected = new MBeanNotificationInfo(
  378.30 +            new String[] {"foo", "bar"},
  378.31 +            AttributeChangeNotification.class.getName(),
  378.32 +            "description",
  378.33 +            expectedDescriptor);
  378.34 +
  378.35 +    // Data for the first kind of test.  This tests that MBeanNotificationInfo
  378.36      // is correctly derived from @NotificationInfo.
  378.37      // Every static field called mbean* is expected to be an MBean
  378.38      // with a single MBeanNotificationInfo that has the same value
  378.39 @@ -254,11 +269,48 @@
  378.40  
  378.41      private static Object mbeanMXBean2 = new MXBean2();
  378.42  
  378.43 -    // Classes for the second test.  This tests the simplest case, which is
  378.44 -    // the first example in the javadoc for @NotificationInfo.  Notice that
  378.45 -    // this MBean is not a NotificationBroadcaster and does not inject a
  378.46 -    // SendNotification!  That should possibly be an error, but it's currently
  378.47 -    // allowed by the spec.
  378.48 +    // Test that @NotificationInfo and @NotificationInfos are ignored if
  378.49 +    // the MBean returns a non-empty MBeanNotificationInfo[] from its
  378.50 +    // NotificationBroadcaster.getNotifications() implementation.
  378.51 +
  378.52 +    @NotificationInfo(types={"blim", "blam"})
  378.53 +    public static interface Explicit1MBean {}
  378.54 +
  378.55 +    public static class Explicit1
  378.56 +            extends NotificationBroadcasterSupport implements Explicit1MBean {
  378.57 +        public Explicit1() {
  378.58 +            super(expected);
  378.59 +        }
  378.60 +    }
  378.61 +
  378.62 +    private static Object mbeanExplicit1 = new Explicit1();
  378.63 +
  378.64 +    @NotificationInfos(
  378.65 +        {
  378.66 +            @NotificationInfo(types="blim"), @NotificationInfo(types="blam")
  378.67 +        }
  378.68 +    )
  378.69 +    public static interface Explicit2MXBean {}
  378.70 +
  378.71 +    public static class Explicit2
  378.72 +            implements NotificationBroadcaster, Explicit2MXBean {
  378.73 +        public void addNotificationListener(NotificationListener listener,
  378.74 +                NotificationFilter filter, Object handback) {}
  378.75 +
  378.76 +        public void removeNotificationListener(NotificationListener listener)
  378.77 +                throws ListenerNotFoundException {}
  378.78 +
  378.79 +        public MBeanNotificationInfo[] getNotificationInfo() {
  378.80 +            return new MBeanNotificationInfo[] {expected};
  378.81 +        }
  378.82 +    }
  378.83 +
  378.84 +    // Data for the second kind of test.  This tests that @NotificationInfo is
  378.85 +    // ignored if the MBean is not a notification source.  Every static
  378.86 +    // field called ignoredMBean* is expected to be an MBean on which
  378.87 +    // isInstanceOf(NotificationBroadcaster.class.getName() is false,
  378.88 +    // addNotificationListener produces an exception, and the
  378.89 +    // MBeanNotificationInfo array is empty.
  378.90      @NotificationInfo(types={"com.example.notifs.create",
  378.91                               "com.example.notifs.destroy"})
  378.92      public static interface CacheMBean {
  378.93 @@ -271,6 +323,73 @@
  378.94          }
  378.95      }
  378.96  
  378.97 +    private static Object ignoredMBean1 = new Cache();
  378.98 +
  378.99 +    @NotificationInfos(
 378.100 +        @NotificationInfo(types={"foo", "bar"})
 378.101 +    )
 378.102 +    public static interface Cache2MBean {
 378.103 +        public int getCachedNum();
 378.104 +    }
 378.105 +
 378.106 +    public static class Cache2 implements Cache2MBean {
 378.107 +        public int getCachedNum() {
 378.108 +            return 0;
 378.109 +        }
 378.110 +    }
 378.111 +
 378.112 +    private static Object ignoredMBean2 = new Cache2();
 378.113 +
 378.114 +    private static final NotificationListener nullListener =
 378.115 +            new NotificationListener() {
 378.116 +                public void handleNotification(
 378.117 +                        Notification notification, Object handback) {}
 378.118 +            };
 378.119 +
 378.120 +    // Test that inheriting inconsistent @NotificationInfo annotations is
 378.121 +    // an error, but not if they are overridden by a non-empty getNotifications()
 378.122 +
 378.123 +    @NotificationInfo(types={"blim"})
 378.124 +    public static interface Inconsistent1 {}
 378.125 +
 378.126 +    @NotificationInfo(types={"blam"})
 378.127 +    public static interface Inconsistent2 {}
 378.128 +
 378.129 +    public static interface InconsistentMBean extends Inconsistent1, Inconsistent2 {}
 378.130 +
 378.131 +    public static class Inconsistent
 378.132 +            extends NotificationBroadcasterSupport implements InconsistentMBean {}
 378.133 +
 378.134 +    public static class Consistent
 378.135 +            extends Inconsistent implements NotificationBroadcaster {
 378.136 +        public void addNotificationListener(NotificationListener listener,
 378.137 +                NotificationFilter filter, Object handback) {}
 378.138 +
 378.139 +        public void removeNotificationListener(NotificationListener listener)
 378.140 +                throws ListenerNotFoundException {}
 378.141 +
 378.142 +        public MBeanNotificationInfo[] getNotificationInfo() {
 378.143 +            return new MBeanNotificationInfo[] {expected};
 378.144 +        }
 378.145 +    }
 378.146 +
 378.147 +    private static Object mbeanConsistent = new Consistent();
 378.148 +
 378.149 +    @NotificationInfo(
 378.150 +            types = {"foo", "bar"},
 378.151 +            notificationClass = AttributeChangeNotification.class,
 378.152 +            description = @Description(
 378.153 +                value = "description",
 378.154 +                bundleBaseName = "bundle",
 378.155 +                key = "key"),
 378.156 +            descriptorFields = {"foo=bar"})
 378.157 +    public static interface Consistent2MBean extends Inconsistent1, Inconsistent2 {}
 378.158 +
 378.159 +    public static class Consistent2
 378.160 +            extends NotificationBroadcasterSupport implements Consistent2MBean {}
 378.161 +
 378.162 +    private static Object mbeanConsistent2 = new Consistent2();
 378.163 +
 378.164      public static void main(String[] args) throws Exception {
 378.165          if (!AnnotatedNotificationInfoTest.class.desiredAssertionStatus())
 378.166              throw new Exception("Test must be run with -ea");
 378.167 @@ -278,37 +397,46 @@
 378.168          MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
 378.169          ObjectName on = new ObjectName("a:b=c");
 378.170  
 378.171 -        Descriptor expectedDescriptor = new ImmutableDescriptor(
 378.172 -                "foo=bar", "descriptionResourceBundleBaseName=bundle",
 378.173 -                "descriptionResourceKey=key");
 378.174 -        MBeanNotificationInfo expected = new MBeanNotificationInfo(
 378.175 -                new String[] {"foo", "bar"},
 378.176 -                AttributeChangeNotification.class.getName(),
 378.177 -                "description",
 378.178 -                expectedDescriptor);
 378.179 -
 378.180          System.out.println("Testing MBeans...");
 378.181          for (Field mbeanField :
 378.182                  AnnotatedNotificationInfoTest.class.getDeclaredFields()) {
 378.183 -            if (!mbeanField.getName().startsWith("mbean"))
 378.184 +            boolean notifier;
 378.185 +            if (mbeanField.getName().startsWith("mbean"))
 378.186 +                notifier = true;
 378.187 +            else if (mbeanField.getName().startsWith("ignoredMBean"))
 378.188 +                notifier = false;
 378.189 +            else
 378.190                  continue;
 378.191              System.out.println("..." + mbeanField.getName());
 378.192              Object mbean = mbeanField.get(null);
 378.193              mbs.registerMBean(mbean, on);
 378.194              MBeanInfo mbi = mbs.getMBeanInfo(on);
 378.195              MBeanNotificationInfo[] mbnis = mbi.getNotifications();
 378.196 -            assert mbnis.length == 1 : mbnis.length;
 378.197 -            assert mbnis[0].equals(expected) : mbnis[0];
 378.198 +            if (notifier) {
 378.199 +                assert mbnis.length == 1 : mbnis.length;
 378.200 +                assert mbnis[0].equals(expected) : mbnis[0];
 378.201 +            } else {
 378.202 +                assert mbnis.length == 0 : mbnis.length;
 378.203 +                assert !mbs.isInstanceOf(on, NotificationBroadcaster.class.getName());
 378.204 +                try {
 378.205 +                    mbs.addNotificationListener(on, nullListener, null, null);
 378.206 +                    assert false : "addNotificationListener works";
 378.207 +                } catch (Exception e) {
 378.208 +                    // OK: addNL correctly refused
 378.209 +                }
 378.210 +            }
 378.211              mbs.unregisterMBean(on);
 378.212          }
 378.213  
 378.214 -        mbs.registerMBean(new Cache(), on);
 378.215 -        MBeanInfo mbi = mbs.getMBeanInfo(on);
 378.216 -        MBeanNotificationInfo[] mbnis = mbi.getNotifications();
 378.217 -        assert mbnis.length == 1 : mbnis.length;
 378.218 -        String[] types = mbnis[0].getNotifTypes();
 378.219 -        String[] expectedTypes =
 378.220 -                CacheMBean.class.getAnnotation(NotificationInfo.class).types();
 378.221 -        assert Arrays.equals(types, expectedTypes) : Arrays.toString(types);
 378.222 +        // Test that inconsistent @NotificationInfo annotations produce an
 378.223 +        // error.
 378.224 +        try {
 378.225 +            mbs.registerMBean(new Inconsistent(), on);
 378.226 +            System.out.println(mbs.getMBeanInfo(on));
 378.227 +            assert false : "Inconsistent @NotificationInfo not detected";
 378.228 +        } catch (Exception e) {
 378.229 +            System.out.println(
 378.230 +                    "Inconsistent @NotificationInfo correctly produced " + e);
 378.231 +        }
 378.232      }
 378.233  }
   379.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   379.2 +++ b/test/javax/management/Introspector/ExceptionsDescriptorTest.java	Tue Jan 20 09:42:07 2009 -0800
   379.3 @@ -0,0 +1,245 @@
   379.4 +/*
   379.5 + * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
   379.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   379.7 + *
   379.8 + * This code is free software; you can redistribute it and/or modify it
   379.9 + * under the terms of the GNU General Public License version 2 only, as
  379.10 + * published by the Free Software Foundation.
  379.11 + *
  379.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  379.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  379.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  379.15 + * version 2 for more details (a copy is included in the LICENSE file that
  379.16 + * accompanied this code).
  379.17 + *
  379.18 + * You should have received a copy of the GNU General Public License version
  379.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  379.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  379.21 + *
  379.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  379.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
  379.24 + * have any questions.
  379.25 + */
  379.26 +
  379.27 +/*
  379.28 + * @test %M% %I%
  379.29 + * @bug 6250014
  379.30 + * @summary Test that Exceptions are added to the MbeanInfo
  379.31 + * @author Jean-Francois Denise
  379.32 + * @run main/othervm ExceptionsDescriptorTest
  379.33 + */
  379.34 +import java.lang.management.ManagementFactory;
  379.35 +import java.util.HashSet;
  379.36 +import java.util.Set;
  379.37 +import javax.management.Descriptor;
  379.38 +import javax.management.JMX;
  379.39 +import javax.management.MBeanAttributeInfo;
  379.40 +import javax.management.MBeanConstructorInfo;
  379.41 +import javax.management.MBeanInfo;
  379.42 +import javax.management.MBeanOperationInfo;
  379.43 +import javax.management.ObjectName;
  379.44 +
  379.45 +public class ExceptionsDescriptorTest {
  379.46 +
  379.47 +    private static final ObjectName OBJECT_NAME = ObjectName.valueOf(":type=Foo");
  379.48 +    final static String EXCEPTION_NAME = Exception.class.getName();
  379.49 +    final static String ILLEGAL_ARGUMENT_EXCEPTION_NAME =
  379.50 +            IllegalArgumentException.class.getName();
  379.51 +    final static Set<String> ONE_EXCEPTION = new HashSet<String>();
  379.52 +    final static Set<String> TWO_EXCEPTION = new HashSet<String>();
  379.53 +    static {
  379.54 +        ONE_EXCEPTION.add(EXCEPTION_NAME);
  379.55 +        TWO_EXCEPTION.add(EXCEPTION_NAME);
  379.56 +        TWO_EXCEPTION.add(ILLEGAL_ARGUMENT_EXCEPTION_NAME);
  379.57 +    }
  379.58 +    public interface TestMBean {
  379.59 +
  379.60 +        public void doIt();
  379.61 +
  379.62 +        public void doIt(String str) throws Exception;
  379.63 +
  379.64 +        public void doIt(String str, boolean b) throws Exception,
  379.65 +                IllegalArgumentException;
  379.66 +
  379.67 +        public String getThat();
  379.68 +
  379.69 +        public void setThat(String that);
  379.70 +
  379.71 +        public String getThe() throws Exception;
  379.72 +
  379.73 +        public void setThe(String the);
  379.74 +
  379.75 +        public String getThese();
  379.76 +
  379.77 +        public void setThese(String the) throws Exception;
  379.78 +
  379.79 +        public String getIt() throws Exception;
  379.80 +
  379.81 +        public void setIt(String str) throws Exception;
  379.82 +
  379.83 +        public String getThis() throws Exception, IllegalArgumentException;
  379.84 +
  379.85 +        public void setThose(String str) throws Exception,
  379.86 +                IllegalArgumentException;
  379.87 +    }
  379.88 +
  379.89 +    public static class Test implements TestMBean {
  379.90 +
  379.91 +        public Test() {
  379.92 +        }
  379.93 +
  379.94 +        public Test(int i) throws Exception {
  379.95 +        }
  379.96 +
  379.97 +        public Test(int i, int j) throws Exception, IllegalArgumentException {
  379.98 +        }
  379.99 +
 379.100 +        public void doIt() {
 379.101 +            throw new UnsupportedOperationException("Not supported yet.");
 379.102 +        }
 379.103 +
 379.104 +        public void doIt(String str) throws Exception {
 379.105 +            throw new UnsupportedOperationException("Not supported yet.");
 379.106 +        }
 379.107 +
 379.108 +        public void doIt(String str, boolean b) throws Exception, IllegalArgumentException {
 379.109 +            throw new UnsupportedOperationException("Not supported yet.");
 379.110 +        }
 379.111 +
 379.112 +        public String getThat() {
 379.113 +            throw new UnsupportedOperationException("Not supported yet.");
 379.114 +        }
 379.115 +
 379.116 +        public void setThat(String that) {
 379.117 +            throw new UnsupportedOperationException("Not supported yet.");
 379.118 +        }
 379.119 +
 379.120 +        public String getThe() throws Exception {
 379.121 +            throw new UnsupportedOperationException("Not supported yet.");
 379.122 +        }
 379.123 +
 379.124 +        public void setThe(String the) {
 379.125 +            throw new UnsupportedOperationException("Not supported yet.");
 379.126 +        }
 379.127 +
 379.128 +        public String getThese() {
 379.129 +            throw new UnsupportedOperationException("Not supported yet.");
 379.130 +        }
 379.131 +
 379.132 +        public void setThese(String the) throws Exception {
 379.133 +            throw new UnsupportedOperationException("Not supported yet.");
 379.134 +        }
 379.135 +
 379.136 +        public String getIt() throws Exception {
 379.137 +            throw new UnsupportedOperationException("Not supported yet.");
 379.138 +        }
 379.139 +
 379.140 +        public void setIt(String str) throws Exception {
 379.141 +            throw new UnsupportedOperationException("Not supported yet.");
 379.142 +        }
 379.143 +
 379.144 +        public String getThis() throws Exception, IllegalArgumentException {
 379.145 +            throw new UnsupportedOperationException("Not supported yet.");
 379.146 +        }
 379.147 +
 379.148 +        public void setThose(String str) throws Exception, IllegalArgumentException {
 379.149 +            throw new UnsupportedOperationException("Not supported yet.");
 379.150 +        }
 379.151 +    }
 379.152 +
 379.153 +    private static void check(Descriptor d,
 379.154 +            Set<String> exceptionsExpectedValue,
 379.155 +            boolean exceptionsExpected,
 379.156 +            Set<String> setExceptionsExpectedValue,
 379.157 +            boolean setExceptionsExpected) throws Exception {
 379.158 +        String[] exceptionsValues = (String[]) d.getFieldValue(JMX.EXCEPTIONS_FIELD);
 379.159 +        String[] setExceptionsValues = (String[]) d.getFieldValue(JMX.SET_EXCEPTIONS_FIELD);
 379.160 +
 379.161 +        if (exceptionsExpected && exceptionsValues == null) {
 379.162 +            throw new Exception("exceptions is expected but null value");
 379.163 +        }
 379.164 +        if (!exceptionsExpected && exceptionsValues != null) {
 379.165 +            throw new Exception("exceptions is not expected but non null value");
 379.166 +        }
 379.167 +        if (setExceptionsExpected && setExceptionsValues == null) {
 379.168 +            throw new Exception("setExceptions is expected but null value");
 379.169 +        }
 379.170 +        if (!setExceptionsExpected && setExceptionsValues != null) {
 379.171 +            throw new Exception("setExceptions is not expected but non null value");
 379.172 +        }
 379.173 +
 379.174 +        if (exceptionsExpected) {
 379.175 +            checkValues(exceptionsExpectedValue, exceptionsValues);
 379.176 +        }
 379.177 +        if (setExceptionsExpected) {
 379.178 +            checkValues(setExceptionsExpectedValue, setExceptionsValues);
 379.179 +        }
 379.180 +    }
 379.181 +
 379.182 +    private static void checkValues(Set<String> expectedValuesSet,
 379.183 +            String[] realValues) throws Exception {
 379.184 +
 379.185 +        Set<String> realValuesSet = new HashSet<String>();
 379.186 +        for (String ex : realValues) {
 379.187 +            realValuesSet.add(ex);
 379.188 +        }
 379.189 +        if (!realValuesSet.equals(expectedValuesSet)) {
 379.190 +            throw new Exception("Invalid content for exceptions. Was expecting " +
 379.191 +                    expectedValuesSet + ". Found " + realValuesSet);
 379.192 +        }
 379.193 +    }
 379.194 +
 379.195 +    public static void main(String[] args) throws Exception {
 379.196 +        Test t = new Test();
 379.197 +        ManagementFactory.getPlatformMBeanServer().registerMBean(t, OBJECT_NAME);
 379.198 +        MBeanInfo info = ManagementFactory.getPlatformMBeanServer().
 379.199 +                getMBeanInfo(OBJECT_NAME);
 379.200 +        //Constructors
 379.201 +        for (MBeanConstructorInfo ctr : info.getConstructors()) {
 379.202 +            if (ctr.getSignature().length == 0) {
 379.203 +                check(ctr.getDescriptor(), null, false, null, false);
 379.204 +            }
 379.205 +            if (ctr.getSignature().length == 1) {
 379.206 +                check(ctr.getDescriptor(), ONE_EXCEPTION, true, null, false);
 379.207 +            }
 379.208 +            if (ctr.getSignature().length == 2) {
 379.209 +                check(ctr.getDescriptor(),TWO_EXCEPTION,true, null, false);
 379.210 +            }
 379.211 +        }
 379.212 +        //Attributes
 379.213 +        for (MBeanAttributeInfo attr : info.getAttributes()) {
 379.214 +            if (attr.getName().equals("That")) {
 379.215 +                check(attr.getDescriptor(), null, false, null, false);
 379.216 +            }
 379.217 +            if (attr.getName().equals("The")) {
 379.218 +                check(attr.getDescriptor(), ONE_EXCEPTION,true,null, false);
 379.219 +            }
 379.220 +            if (attr.getName().equals("These")) {
 379.221 +                check(attr.getDescriptor(), null, false, ONE_EXCEPTION,true);
 379.222 +            }
 379.223 +            if (attr.getName().equals("It")) {
 379.224 +                check(attr.getDescriptor(), ONE_EXCEPTION,true,ONE_EXCEPTION,
 379.225 +                        true);
 379.226 +            }
 379.227 +            if (attr.getName().equals("This")) {
 379.228 +                check(attr.getDescriptor(), TWO_EXCEPTION,true,null,false);
 379.229 +            }
 379.230 +            if (attr.getName().equals("Those")) {
 379.231 +                check(attr.getDescriptor(), null,false,TWO_EXCEPTION,true);
 379.232 +            }
 379.233 +        }
 379.234 +        //Operations
 379.235 +        for (MBeanOperationInfo oper : info.getOperations()) {
 379.236 +            if (oper.getSignature().length == 0) {
 379.237 +                check(oper.getDescriptor(), null, false, null, false);
 379.238 +            }
 379.239 +            if (oper.getSignature().length == 1) {
 379.240 +                check(oper.getDescriptor(), ONE_EXCEPTION, true, null, false);
 379.241 +            }
 379.242 +            if (oper.getSignature().length == 2) {
 379.243 +                check(oper.getDescriptor(), TWO_EXCEPTION,true, null, false);
 379.244 +            }
 379.245 +        }
 379.246 +        System.out.println("Test passed");
 379.247 +    }
 379.248 +}
   380.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   380.2 +++ b/test/javax/management/Introspector/ObjectNameTemplateTest.java	Tue Jan 20 09:42:07 2009 -0800
   380.3 @@ -0,0 +1,343 @@
   380.4 +/*
   380.5 + * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
   380.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   380.7 + *
   380.8 + * This code is free software; you can redistribute it and/or modify it
   380.9 + * under the terms of the GNU General Public License version 2 only, as
  380.10 + * published by the Free Software Foundation.
  380.11 + *
  380.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  380.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  380.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  380.15 + * version 2 for more details (a copy is included in the LICENSE file that
  380.16 + * accompanied this code).
  380.17 + *
  380.18 + * You should have received a copy of the GNU General Public License version
  380.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  380.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  380.21 + *
  380.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  380.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
  380.24 + * have any questions.
  380.25 + */
  380.26 +
  380.27 +/*
  380.28 + * @test %M% %I%
  380.29 + * @bug 6675526
  380.30 + * @summary Test MBeans named with &#64;ObjectNameTemplate
  380.31 + * @author Jean-Francois Denise
  380.32 + * @run main/othervm ObjectNameTemplateTest
  380.33 + */
  380.34 +import java.lang.management.ManagementFactory;
  380.35 +import java.lang.reflect.Constructor;
  380.36 +import java.util.ArrayList;
  380.37 +import java.util.List;
  380.38 +import javax.management.Attribute;
  380.39 +import javax.management.AttributeList;
  380.40 +import javax.management.AttributeNotFoundException;
  380.41 +import javax.management.DynamicMBean;
  380.42 +import javax.management.ImmutableDescriptor;
  380.43 +import javax.management.InvalidAttributeValueException;
  380.44 +import javax.management.JMX;
  380.45 +import javax.management.MBeanException;
  380.46 +import javax.management.MBeanInfo;
  380.47 +import javax.management.MBeanServer;
  380.48 +import javax.management.MXBean;
  380.49 +import javax.management.MBean;
  380.50 +import javax.management.ManagedAttribute;
  380.51 +import javax.management.NotCompliantMBeanException;
  380.52 +import javax.management.ObjectName;
  380.53 +import javax.management.ObjectNameTemplate;
  380.54 +import javax.management.ReflectionException;
  380.55 +import javax.management.StandardMBean;
  380.56 +
  380.57 +public class ObjectNameTemplateTest {
  380.58 +
  380.59 +    private static MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
  380.60 +    private static final String NAME_TEMPLATE_MULTI =
  380.61 +            "com.example:type=MultiStdCache,name={Name}";
  380.62 +    private static final String NAME_TEMPLATE_MONO =
  380.63 +            "com.example:{Type}={TypeValue}";
  380.64 +    private static final String NAME_TEMPLATE_QUOTED =
  380.65 +            "com.example:type=Quotted,name=\"{Name}\"";
  380.66 +    private static final String NAME_TEMPLATE_WRAPPED =
  380.67 +            "com.example:type=MgtInterface,id={Id}";
  380.68 +    private static final String NAME_TEMPLATE_FULL =
  380.69 +            "{Naming}";
  380.70 +    private static final String FULL_NAME = "com.example:type=NotAdvised";
  380.71 +    private static final String NAME1 = "toto1";
  380.72 +    private static final String NAME2 = "toto2";
  380.73 +    private static final String TYPE_KEY = "thisIsTheType";
  380.74 +    private static final String TYPE_VALUE = "aTypeValue";
  380.75 +    private static final String INVALID_NAME = "?,=*,\n, ";
  380.76 +    private static final int ID = 999;
  380.77 +    private static Object[] EMPTY_PARAMS = {};
  380.78 +    private static String[] EMPTY_SIGNATURE = {};
  380.79 +    private static final ObjectName OBJECTNAME_CACHE =
  380.80 +            ObjectName.valueOf("com.example:type=Cache");
  380.81 +    private static final ObjectName OBJECTNAME_SUBCACHE =
  380.82 +            ObjectName.valueOf("com.example:type=SubCache");
  380.83 +    private static final ObjectName OBJECTNAME_CACHEMX =
  380.84 +            ObjectName.valueOf("com.example:type=CacheMX");
  380.85 +    private static final ObjectName OBJECTNAME_SUBCACHEMX =
  380.86 +            ObjectName.valueOf("com.example:type=SubCacheMX");
  380.87 +    private static final ObjectName OBJECTNAME_DYNACACHE =
  380.88 +            ObjectName.valueOf("com.example:type=DynaCache");
  380.89 +    private static final ObjectName OBJECTNAME_STDCACHE =
  380.90 +            ObjectName.valueOf("com.example:type=StdCache");
  380.91 +    private static final ObjectName OBJECTNAME_STDCACHEMX =
  380.92 +            ObjectName.valueOf("com.example:type=StdCacheMX");
  380.93 +    private static final ObjectName OBJECTNAME_MULTI_1 =
  380.94 +            ObjectName.valueOf("com.example:" +
  380.95 +            "type=MultiStdCache,name=" + NAME1);
  380.96 +    private static final ObjectName OBJECTNAME_MULTI_2 =
  380.97 +            ObjectName.valueOf("com.example:" +
  380.98 +            "type=MultiStdCache,name=" + NAME2);
  380.99 +    private static final ObjectName OBJECTNAME_MONO =
 380.100 +            ObjectName.valueOf("com.example:" + TYPE_KEY + "=" +
 380.101 +            TYPE_VALUE);
 380.102 +    private static final ObjectName OBJECTNAME_QUOTED =
 380.103 +            ObjectName.valueOf("com.example:type=Quotted," +
 380.104 +            "name="+ObjectName.quote(INVALID_NAME));
 380.105 +    private static final ObjectName OBJECTNAME_WRAPPED_RESOURCE =
 380.106 +            ObjectName.valueOf("com.example:type=MgtInterface,id=" + ID);
 380.107 +    private static final ObjectName OBJECTNAME_FULL =
 380.108 +            ObjectName.valueOf(FULL_NAME);
 380.109 +
 380.110 +    private static void test(Class<?> mbean, Object[] params,
 380.111 +            String[] signature, ObjectName name, String template)
 380.112 +            throws Exception {
 380.113 +        mbs.createMBean(mbean.getName(), null, params, signature);
 380.114 +        test(name, template);
 380.115 +        List<Class<?>> parameters = new ArrayList<Class<?>>();
 380.116 +        for (String sig : signature) {
 380.117 +            parameters.add(Class.forName(sig));
 380.118 +        }
 380.119 +        Class<?> classes[] = new Class<?>[parameters.size()];
 380.120 +        Constructor ctr = mbean.getConstructor(parameters.toArray(classes));
 380.121 +        Object inst = ctr.newInstance(params);
 380.122 +        test(inst, name, template);
 380.123 +    }
 380.124 +
 380.125 +    private static void test(Object obj, ObjectName name, String template)
 380.126 +            throws Exception {
 380.127 +        mbs.registerMBean(obj, null);
 380.128 +        test(name, template);
 380.129 +    }
 380.130 +
 380.131 +    private static void test(ObjectName name, String template)
 380.132 +            throws Exception {
 380.133 +        if (!mbs.isRegistered(name)) {
 380.134 +            throw new Exception("Wrong " + name + " name");
 380.135 +        }
 380.136 +        if (template != null && !mbs.getMBeanInfo(name).getDescriptor().
 380.137 +                getFieldValue("objectNameTemplate").equals(template)) {
 380.138 +            throw new Exception("Invalid Derscriptor");
 380.139 +        }
 380.140 +        mbs.unregisterMBean(name);
 380.141 +    }
 380.142 +
 380.143 +    public static void main(String[] args) throws Exception {
 380.144 +        test(Cache.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_CACHE,
 380.145 +                OBJECTNAME_CACHE.toString());
 380.146 +
 380.147 +        test(CacheMX.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_CACHEMX,
 380.148 +                OBJECTNAME_CACHEMX.toString());
 380.149 +
 380.150 +        test(SubCache.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_SUBCACHE,
 380.151 +                OBJECTNAME_SUBCACHE.toString());
 380.152 +
 380.153 +        test(SubCacheMX.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_SUBCACHEMX,
 380.154 +                OBJECTNAME_SUBCACHEMX.toString());
 380.155 +
 380.156 +        test(DynaCache.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_DYNACACHE,
 380.157 +                null);
 380.158 +
 380.159 +        test(StdCacheMX.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_STDCACHEMX,
 380.160 +                OBJECTNAME_STDCACHEMX.toString());
 380.161 +
 380.162 +        test(StdCache.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_STDCACHE,
 380.163 +                OBJECTNAME_STDCACHE.toString());
 380.164 +        String[] sig = {String.class.getName()};
 380.165 +        Object[] params = {NAME1};
 380.166 +        test(MultiStdCache.class, params, sig, OBJECTNAME_MULTI_1,
 380.167 +                NAME_TEMPLATE_MULTI);
 380.168 +        Object[] params2 = {NAME2};
 380.169 +        test(MultiStdCache.class, params2, sig, OBJECTNAME_MULTI_2,
 380.170 +                NAME_TEMPLATE_MULTI);
 380.171 +
 380.172 +        test(MonoStdCache.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_MONO,
 380.173 +                NAME_TEMPLATE_MONO);
 380.174 +
 380.175 +        test(Quoted.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_QUOTED,
 380.176 +                NAME_TEMPLATE_QUOTED);
 380.177 +
 380.178 +        test(new StandardMBean(new WrappedResource(), MgtInterface.class),
 380.179 +                OBJECTNAME_WRAPPED_RESOURCE, NAME_TEMPLATE_WRAPPED);
 380.180 +
 380.181 +        test(FullName.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_FULL,
 380.182 +                NAME_TEMPLATE_FULL);
 380.183 +        try {
 380.184 +            test(Wrong.class, EMPTY_PARAMS, EMPTY_SIGNATURE, null, null);
 380.185 +            throw new Exception("No treceived expected Exception");
 380.186 +        } catch (NotCompliantMBeanException ncex) {
 380.187 +            if (!(ncex.getCause() instanceof AttributeNotFoundException)) {
 380.188 +                throw new Exception("Invalid initCause");
 380.189 +            }
 380.190 +        }
 380.191 +    }
 380.192 +
 380.193 +    @MBean
 380.194 +    @ObjectNameTemplate("{Naming}")
 380.195 +    public static class FullName {
 380.196 +
 380.197 +        @ManagedAttribute
 380.198 +        public String getNaming() {
 380.199 +            return FULL_NAME;
 380.200 +        }
 380.201 +    }
 380.202 +
 380.203 +    @ObjectNameTemplate("com.example:type=MgtInterface,id={Id}")
 380.204 +    public interface MgtInterface {
 380.205 +
 380.206 +        public int getId();
 380.207 +    }
 380.208 +
 380.209 +    public static class WrappedResource implements MgtInterface {
 380.210 +
 380.211 +        public int getId() {
 380.212 +            return ID;
 380.213 +        }
 380.214 +    }
 380.215 +
 380.216 +    @MBean
 380.217 +    @ObjectNameTemplate("com.example:type=Cache")
 380.218 +    public static class Cache {
 380.219 +    }
 380.220 +
 380.221 +    @ObjectNameTemplate("com.example:type=SubCache")
 380.222 +    public static class SubCache extends Cache {
 380.223 +    }
 380.224 +
 380.225 +    @MXBean
 380.226 +    @ObjectNameTemplate("com.example:type=CacheMX")
 380.227 +    public static class CacheMX {
 380.228 +    }
 380.229 +
 380.230 +    @ObjectNameTemplate("com.example:type=SubCacheMX")
 380.231 +    public static class SubCacheMX extends CacheMX {
 380.232 +    }
 380.233 +
 380.234 +    @ObjectNameTemplate("com.example:type=StdCache")
 380.235 +    public interface StdCacheMBean {
 380.236 +    }
 380.237 +
 380.238 +    public static class StdCache implements StdCacheMBean {
 380.239 +    }
 380.240 +
 380.241 +    @ObjectNameTemplate("com.example:type=StdCacheMX")
 380.242 +    public interface StdCacheMXBean {
 380.243 +    }
 380.244 +
 380.245 +    public static class StdCacheMX implements StdCacheMXBean {
 380.246 +    }
 380.247 +
 380.248 +    public static class DynaCache implements DynamicMBean {
 380.249 +
 380.250 +        public Object getAttribute(String attribute) throws AttributeNotFoundException, MBeanException, ReflectionException {
 380.251 +            throw new UnsupportedOperationException("Not supported yet.");
 380.252 +        }
 380.253 +
 380.254 +        public void setAttribute(Attribute attribute) throws AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException {
 380.255 +            throw new UnsupportedOperationException("Not supported yet.");
 380.256 +        }
 380.257 +
 380.258 +        public AttributeList getAttributes(String[] attributes) {
 380.259 +            throw new UnsupportedOperationException("Not supported yet.");
 380.260 +        }
 380.261 +
 380.262 +        public AttributeList setAttributes(AttributeList attributes) {
 380.263 +            throw new UnsupportedOperationException("Not supported yet.");
 380.264 +        }
 380.265 +
 380.266 +        public Object invoke(String actionName, Object[] params, String[] signature) throws MBeanException, ReflectionException {
 380.267 +            throw new UnsupportedOperationException("Not supported yet.");
 380.268 +        }
 380.269 +
 380.270 +        public MBeanInfo getMBeanInfo() {
 380.271 +            ImmutableDescriptor d = new ImmutableDescriptor(JMX.OBJECT_NAME_TEMPLATE + "=com.example:type=DynaCache");
 380.272 +
 380.273 +            return new MBeanInfo("DynaCache", "Description", null, null, null, null, d);
 380.274 +        }
 380.275 +    }
 380.276 +
 380.277 +    @ObjectNameTemplate("com.example:type=MultiStdCache,name={Name}")
 380.278 +    public interface MultiStdCacheMXBean {
 380.279 +
 380.280 +        public String getName();
 380.281 +    }
 380.282 +
 380.283 +    public static class MultiStdCache implements MultiStdCacheMXBean {
 380.284 +
 380.285 +        private String name;
 380.286 +
 380.287 +        public MultiStdCache(String name) {
 380.288 +            this.name = name;
 380.289 +        }
 380.290 +
 380.291 +        public String getName() {
 380.292 +            return name;
 380.293 +        }
 380.294 +    }
 380.295 +
 380.296 +    @ObjectNameTemplate("com.example:{Type}={TypeValue}")
 380.297 +    public interface MonoStdCacheMXBean {
 380.298 +
 380.299 +        public String getTypeValue();
 380.300 +
 380.301 +        public String getType();
 380.302 +    }
 380.303 +
 380.304 +    public static class MonoStdCache implements MonoStdCacheMXBean {
 380.305 +
 380.306 +        public String getTypeValue() {
 380.307 +            return TYPE_VALUE;
 380.308 +        }
 380.309 +
 380.310 +        public String getType() {
 380.311 +            return TYPE_KEY;
 380.312 +        }
 380.313 +    }
 380.314 +
 380.315 +    @ObjectNameTemplate("com.example:type=Quotted,name=\"{Name}\"")
 380.316 +    public interface QuottedMXBean {
 380.317 +
 380.318 +        public String getName();
 380.319 +    }
 380.320 +
 380.321 +    public static class Quoted implements QuottedMXBean {
 380.322 +
 380.323 +        public String getName() {
 380.324 +            return INVALID_NAME;
 380.325 +        }
 380.326 +    }
 380.327 +
 380.328 +    @ObjectNameTemplate("com.example:{Type}={TypeValue}, name={Name}")
 380.329 +    public interface WrongMXBean {
 380.330 +
 380.331 +        public String getTypeValue();
 380.332 +
 380.333 +        public String getType();
 380.334 +    }
 380.335 +
 380.336 +    public static class Wrong implements WrongMXBean {
 380.337 +
 380.338 +        public String getTypeValue() {
 380.339 +            return TYPE_VALUE;
 380.340 +        }
 380.341 +
 380.342 +        public String getType() {
 380.343 +            return TYPE_KEY;
 380.344 +        }
 380.345 +    }
 380.346 +}
   381.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   381.2 +++ b/test/javax/management/descriptor/DescriptorConstructorTest.java	Tue Jan 20 09:42:07 2009 -0800
   381.3 @@ -0,0 +1,46 @@
   381.4 +/*
   381.5 + * Copyright 2004-2005 Sun Microsystems, Inc.  All Rights Reserved.
   381.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   381.7 + *
   381.8 + * This code is free software; you can redistribute it and/or modify it
   381.9 + * under the terms of the GNU General Public License version 2 only, as
  381.10 + * published by the Free Software Foundation.
  381.11 + *
  381.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  381.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  381.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  381.15 + * version 2 for more details (a copy is included in the LICENSE file that
  381.16 + * accompanied this code).
  381.17 + *
  381.18 + * You should have received a copy of the GNU General Public License version
  381.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  381.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  381.21 + *
  381.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  381.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
  381.24 + * have any questions.
  381.25 + */
  381.26 +
  381.27 +/*
  381.28 + * @test
  381.29 + * @bug 6501362
  381.30 + * @summary DescriptorSupport(String) could recognize "name=value" as well as XML format
  381.31 + * @author Jean-Francois Denise
  381.32 + * @run clean DescriptorConstructorTest
  381.33 + * @run build DescriptorConstructorTest
  381.34 + * @run main DescriptorConstructorTest
  381.35 + */
  381.36 +
  381.37 +import javax.management.modelmbean.DescriptorSupport;
  381.38 +
  381.39 +public class DescriptorConstructorTest {
  381.40 +    public static void main(String[] args) throws Exception {
  381.41 +        DescriptorSupport d1 = new DescriptorSupport("MyName1=MyValue1");
  381.42 +        if(!d1.getFieldValue("MyName1").equals("MyValue1"))
  381.43 +            throw new Exception("Invalid parsing");
  381.44 +        DescriptorSupport d2 = new DescriptorSupport("<Descriptor>" +
  381.45 +                "<field name=\"MyName2\" value=\"MyValue2\"></field></Descriptor>");
  381.46 +        if(!d2.getFieldValue("MyName2").equals("MyValue2"))
  381.47 +            throw new Exception("Invalid parsing");
  381.48 +    }
  381.49 +}
   382.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   382.2 +++ b/test/javax/management/interop/MBeanExceptionInteropTest.java	Tue Jan 20 09:42:07 2009 -0800
   382.3 @@ -0,0 +1,166 @@
   382.4 +/*
   382.5 + * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
   382.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   382.7 + *
   382.8 + * This code is free software; you can redistribute it and/or modify it
   382.9 + * under the terms of the GNU General Public License version 2 only, as
  382.10 + * published by the Free Software Foundation.
  382.11 + *
  382.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  382.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  382.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  382.15 + * version 2 for more details (a copy is included in the LICENSE file that
  382.16 + * accompanied this code).
  382.17 + *
  382.18 + * You should have received a copy of the GNU General Public License version
  382.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  382.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  382.21 + *
  382.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  382.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
  382.24 + * have any questions.
  382.25 + */
  382.26 +
  382.27 +/*
  382.28 + * @test
  382.29 + * @bug 6456269
  382.30 + * @summary Test that an MBeanException serialized on JDK 6 deserializes
  382.31 + * correctly on JDK 7.
  382.32 + * @author Eamonn McManus
  382.33 + */
  382.34 +
  382.35 +import java.io.ByteArrayInputStream;
  382.36 +import java.io.ByteArrayOutputStream;
  382.37 +import java.io.ObjectInputStream;
  382.38 +import java.io.ObjectOutputStream;
  382.39 +import javax.management.MBeanException;
  382.40 +
  382.41 +// In JDK 6, the Throwable.cause field was always null for an MBeanException,
  382.42 +// but it didn't matter because we overrode getCause() to return
  382.43 +// MBeanException.exception instead.  In JDK 7, we no longer override getCause()
  382.44 +// because MBeanException doubles as the serial form of GenericMBeanException.
  382.45 +// So we need some care to make sure that objects deserialized from JDK 6
  382.46 +// have the right getCause() behaviour.
  382.47 +public class MBeanExceptionInteropTest {
  382.48 +    private static final byte[] SERIALIZED_MBEAN_EXCEPTION = {
  382.49 +        -84,-19,0,5,115,114,0,31,106,97,118,97,120,46,109,97,
  382.50 +        110,97,103,101,109,101,110,116,46,77,66,101,97,110,69,120,
  382.51 +        99,101,112,116,105,111,110,56,110,-116,-27,110,87,49,-50,2,
  382.52 +        0,1,76,0,9,101,120,99,101,112,116,105,111,110,116,0,
  382.53 +        21,76,106,97,118,97,47,108,97,110,103,47,69,120,99,101,
  382.54 +        112,116,105,111,110,59,120,114,0,28,106,97,118,97,120,46,
  382.55 +        109,97,110,97,103,101,109,101,110,116,46,74,77,69,120,99,
  382.56 +        101,112,116,105,111,110,4,-35,76,-20,-109,-99,126,113,2,0,
  382.57 +        0,120,114,0,19,106,97,118,97,46,108,97,110,103,46,69,
  382.58 +        120,99,101,112,116,105,111,110,-48,-3,31,62,26,59,28,-60,
  382.59 +        2,0,0,120,114,0,19,106,97,118,97,46,108,97,110,103,
  382.60 +        46,84,104,114,111,119,97,98,108,101,-43,-58,53,39,57,119,
  382.61 +        -72,-53,3,0,3,76,0,5,99,97,117,115,101,116,0,21,
  382.62 +        76,106,97,118,97,47,108,97,110,103,47,84,104,114,111,119,
  382.63 +        97,98,108,101,59,76,0,13,100,101,116,97,105,108,77,101,
  382.64 +        115,115,97,103,101,116,0,18,76,106,97,118,97,47,108,97,
  382.65 +        110,103,47,83,116,114,105,110,103,59,91,0,10,115,116,97,
  382.66 +        99,107,84,114,97,99,101,116,0,30,91,76,106,97,118,97,
  382.67 +        47,108,97,110,103,47,83,116,97,99,107,84,114,97,99,101,
  382.68 +        69,108,101,109,101,110,116,59,120,112,113,0,126,0,8,116,
  382.69 +        0,7,79,104,32,100,101,97,114,117,114,0,30,91,76,106,
  382.70 +        97,118,97,46,108,97,110,103,46,83,116,97,99,107,84,114,
  382.71 +        97,99,101,69,108,101,109,101,110,116,59,2,70,42,60,60,
  382.72 +        -3,34,57,2,0,0,120,112,0,0,0,2,115,114,0,27,
  382.73 +        106,97,118,97,46,108,97,110,103,46,83,116,97,99,107,84,
  382.74 +        114,97,99,101,69,108,101,109,101,110,116,97,9,-59,-102,38,
  382.75 +        54,-35,-123,2,0,4,73,0,10,108,105,110,101,78,117,109,
  382.76 +        98,101,114,76,0,14,100,101,99,108,97,114,105,110,103,67,
  382.77 +        108,97,115,115,113,0,126,0,6,76,0,8,102,105,108,101,
  382.78 +        78,97,109,101,113,0,126,0,6,76,0,10,109,101,116,104,
  382.79 +        111,100,78,97,109,101,113,0,126,0,6,120,112,0,0,0,
  382.80 +        63,116,0,25,77,66,101,97,110,69,120,99,101,112,116,105,
  382.81 +        111,110,73,110,116,101,114,111,112,84,101,115,116,116,0,30,
  382.82 +        77,66,101,97,110,69,120,99,101,112,116,105,111,110,73,110,
  382.83 +        116,101,114,111,112,84,101,115,116,46,106,97,118,97,116,0,
  382.84 +        5,119,114,105,116,101,115,113,0,126,0,12,0,0,0,46,
  382.85 +        113,0,126,0,14,113,0,126,0,15,116,0,4,109,97,105,
  382.86 +        110,120,115,114,0,34,106,97,118,97,46,108,97,110,103,46,
  382.87 +        73,108,108,101,103,97,108,65,114,103,117,109,101,110,116,69,
  382.88 +        120,99,101,112,116,105,111,110,-75,-119,115,-45,125,102,-113,-68,
  382.89 +        2,0,0,120,114,0,26,106,97,118,97,46,108,97,110,103,
  382.90 +        46,82,117,110,116,105,109,101,69,120,99,101,112,116,105,111,
  382.91 +        110,-98,95,6,71,10,52,-125,-27,2,0,0,120,113,0,126,
  382.92 +        0,3,113,0,126,0,21,116,0,3,66,97,100,117,113,0,
  382.93 +        126,0,10,0,0,0,2,115,113,0,126,0,12,0,0,0,
  382.94 +        62,113,0,126,0,14,113,0,126,0,15,113,0,126,0,16,
  382.95 +        115,113,0,126,0,12,0,0,0,46,113,0,126,0,14,113,
  382.96 +        0,126,0,15,113,0,126,0,18,120,
  382.97 +    };
  382.98 +
  382.99 +    private static volatile String failure;
 382.100 +
 382.101 +    public static void main(String[] args) throws Exception {
 382.102 +        if (args.length > 0) {
 382.103 +            if (args[0].equals("write") && args.length == 1) {
 382.104 +                write();
 382.105 +                return;
 382.106 +            } else {
 382.107 +                System.err.println(
 382.108 +                        "Usage: java MBeanExceptionInteropTest");
 382.109 +                System.err.println(
 382.110 +                        "or:    java MBeanExceptionInteropTest write");
 382.111 +                System.exit(1);
 382.112 +            }
 382.113 +        }
 382.114 +
 382.115 +        // Read the serialized object and check it is correct.
 382.116 +        ByteArrayInputStream bin =
 382.117 +                new ByteArrayInputStream(SERIALIZED_MBEAN_EXCEPTION);
 382.118 +        ObjectInputStream oin = new ObjectInputStream(bin);
 382.119 +        MBeanException mbeanEx = (MBeanException) oin.readObject();
 382.120 +        assertEquals("MBeanException message", "Oh dear", mbeanEx.getMessage());
 382.121 +        System.out.println("getCause(): " + mbeanEx.getCause() + "; " +
 382.122 +                "getTargetException(): " + mbeanEx.getTargetException());
 382.123 +        for (Throwable t :
 382.124 +                new Throwable[] {mbeanEx.getCause(), mbeanEx.getTargetException()}) {
 382.125 +            if (!(t instanceof IllegalArgumentException))
 382.126 +                fail("Nested exception not an IllegalArgumentException: " + t);
 382.127 +            else
 382.128 +                assertEquals("Nested exception message", "Bad", t.getMessage());
 382.129 +        }
 382.130 +
 382.131 +        if (failure == null)
 382.132 +            System.out.println("TEST PASSED");
 382.133 +        else
 382.134 +            throw new Exception("TEST FAILED: " + failure);
 382.135 +    }
 382.136 +
 382.137 +    // Write a file that can be inserted into this source file as the
 382.138 +    // contents of the SERIALIZED_MBEAN_EXCEPTION array.  Run this program
 382.139 +    // on JDK 6 to generate the array, then test on JDK 7.
 382.140 +    private static void write() throws Exception {
 382.141 +        Exception wrapped = new IllegalArgumentException("Bad");
 382.142 +        MBeanException mbeanEx = new MBeanException(wrapped, "Oh dear");
 382.143 +        ByteArrayOutputStream bout = new ByteArrayOutputStream();
 382.144 +        ObjectOutputStream oout = new ObjectOutputStream(bout);
 382.145 +        oout.writeObject(mbeanEx);
 382.146 +        oout.close();
 382.147 +        byte[] bytes = bout.toByteArray();
 382.148 +        for (int i = 0; i < bytes.length; i++) {
 382.149 +            System.out.printf("%d,", bytes[i]);
 382.150 +            if (i % 16 == 15)
 382.151 +                System.out.println();
 382.152 +        }
 382.153 +        if (bytes.length % 16 != 0)
 382.154 +            System.out.println();
 382.155 +    }
 382.156 +
 382.157 +    private static void assertEquals(String what, Object expect, Object actual) {
 382.158 +        boolean equal = (expect == null) ? (actual == null) : expect.equals(actual);
 382.159 +        if (equal)
 382.160 +            System.out.println("OK: " + what + ": " + expect);
 382.161 +        else
 382.162 +            fail(what + ": expected " + expect + ", got " + actual);
 382.163 +    }
 382.164 +
 382.165 +    private static void fail(String why) {
 382.166 +        System.out.println("FAIL: " + why);
 382.167 +        failure = why;
 382.168 +    }
 382.169 +}
   383.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   383.2 +++ b/test/javax/management/monitor/InstantiateMonitorNotificationTest.java	Tue Jan 20 09:42:07 2009 -0800
   383.3 @@ -0,0 +1,52 @@
   383.4 +
   383.5 +import javax.management.ObjectName;
   383.6 +import javax.management.monitor.MonitorNotification;
   383.7 +
   383.8 +/*
   383.9 + * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
  383.10 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  383.11 + *
  383.12 + * This code is free software; you can redistribute it and/or modify it
  383.13 + * under the terms of the GNU General Public License version 2 only, as
  383.14 + * published by the Free Software Foundation.
  383.15 + *
  383.16 + * This code is distributed in the hope that it will be useful, but WITHOUT
  383.17 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  383.18 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  383.19 + * version 2 for more details (a copy is included in the LICENSE file that
  383.20 + * accompanied this code).
  383.21 + *
  383.22 + * You should have received a copy of the GNU General Public License version
  383.23 + * 2 along with this work; if not, write to the Free Software Foundation,
  383.24 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  383.25 + *
  383.26 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  383.27 + * CA 95054 USA or visit www.sun.com if you need additional information or
  383.28 + * have any questions.
  383.29 + */
  383.30 +
  383.31 +/*
  383.32 + * @test
  383.33 + * @bug 6373143
  383.34 + * @summary Test MonitorNotification public constructor
  383.35 + * @author JFDenise
  383.36 + * @run clean InstantiateMonitorNotificationTest
  383.37 + * @run build InstantiateMonitorNotificationTest
  383.38 + * @run main InstantiateMonitorNotificationTest
  383.39 + */
  383.40 +
  383.41 +public class InstantiateMonitorNotificationTest {
  383.42 +
  383.43 +    public static void main(String[] args) throws Exception {
  383.44 +        MonitorNotification notif = new MonitorNotification("com.foo.test",
  383.45 +                ObjectName.valueOf(":type=Monitor"),
  383.46 +                999,
  383.47 +                999,
  383.48 +                "A  message",
  383.49 +                ObjectName.valueOf(":type=Observed"),
  383.50 +                "MyAttribute",
  383.51 +                Integer.valueOf(14),
  383.52 +                Integer.valueOf(15));
  383.53 +        System.out.println("Test passed");
  383.54 +    }
  383.55 +}
   384.1 --- a/test/javax/management/namespace/LeadingSeparatorsTest.java	Wed Jan 14 21:35:03 2009 -0800
   384.2 +++ b/test/javax/management/namespace/LeadingSeparatorsTest.java	Tue Jan 20 09:42:07 2009 -0800
   384.3 @@ -24,7 +24,7 @@
   384.4   * @test LeadingSeparatorsTest.java
   384.5   * @summary Test that the semantics of a leading // in ObjectName is respected.
   384.6   * @author Daniel Fuchs
   384.7 - * @bug 5072476
   384.8 + * @bug 5072476 6768935
   384.9   * @run clean LeadingSeparatorsTest Wombat WombatMBean
  384.10   * @compile -XDignore.symbol.file=true  LeadingSeparatorsTest.java
  384.11   * @run build LeadingSeparatorsTest Wombat WombatMBean
  384.12 @@ -36,6 +36,7 @@
  384.13  import java.util.Set;
  384.14  import java.util.HashSet;
  384.15  import java.util.logging.Logger;
  384.16 +import javax.management.InstanceNotFoundException;
  384.17  import javax.management.MBeanServer;
  384.18  import javax.management.MBeanServerFactory;
  384.19  import javax.management.NotCompliantMBeanException;
  384.20 @@ -121,19 +122,29 @@
  384.21              // register wombat using an object name with a leading //
  384.22              final Object     obj = new MyWombat();
  384.23              // check that returned object name doesn't have the leading //
  384.24 -            assertEquals(n2,top.registerMBean(obj, n1).getObjectName());
  384.25 +            assertEquals(n2,top.registerMBean(obj, n2).getObjectName());
  384.26              System.out.println(n1+" registered");
  384.27  
  384.28              // check that the registered Wombat can be accessed with all its
  384.29              // names.
  384.30              System.out.println(n2+" mood is: "+top.getAttribute(n2, "Mood"));
  384.31 -            System.out.println(n1+" mood is: "+top.getAttribute(n1, "Mood"));
  384.32 +            try {
  384.33 +                System.out.println(n1+" mood is: "+top.getAttribute(n1, "Mood"));
  384.34 +                throw new Exception("Excepected exception not thrown for "+n1);
  384.35 +            } catch (InstanceNotFoundException x) {
  384.36 +                System.out.println("OK: "+x);
  384.37 +            }
  384.38              System.out.println(n4+" mood is: "+top.getAttribute(n4, "Mood"));
  384.39 -            System.out.println(n3+" mood is: "+top.getAttribute(n3, "Mood"));
  384.40 +            try {
  384.41 +                System.out.println(n3+" mood is: "+top.getAttribute(n3, "Mood"));
  384.42 +                throw new Exception("Excepected exception not thrown for "+n3);
  384.43 +            } catch (InstanceNotFoundException x) {
  384.44 +                System.out.println("OK: "+x);
  384.45 +            }
  384.46  
  384.47              // call listMatching. The result should not contain any prefix.
  384.48              final Set<ObjectName> res = (Set<ObjectName>)
  384.49 -                    top.invoke(n3, "listMatching",
  384.50 +                    top.invoke(n4, "listMatching",
  384.51                      // remove rmi// from rmi//*:*
  384.52                      JMXNamespaces.deepReplaceHeadNamespace(
  384.53                      new Object[] {ObjectName.WILDCARD.withDomain("rmi//*")},
  384.54 @@ -158,7 +169,7 @@
  384.55              // //niark//niark//
  384.56              //
  384.57              final Set<ObjectName> res4 = (Set<ObjectName>)
  384.58 -                    top.invoke(n3, "untrue",
  384.59 +                    top.invoke(n4, "untrue",
  384.60                      // remove niark//niark : should remove nothing since
  384.61                      // our ObjectName begins with a leading //
  384.62                      JMXNamespaces.deepReplaceHeadNamespace(
   385.1 --- a/test/javax/management/namespace/NullDomainObjectNameTest.java	Wed Jan 14 21:35:03 2009 -0800
   385.2 +++ b/test/javax/management/namespace/NullDomainObjectNameTest.java	Tue Jan 20 09:42:07 2009 -0800
   385.3 @@ -40,6 +40,7 @@
   385.4  import javax.management.NotCompliantMBeanException;
   385.5  import javax.management.ObjectInstance;
   385.6  import javax.management.ObjectName;
   385.7 +import javax.management.RuntimeOperationsException;
   385.8  import javax.management.namespace.JMXNamespaces;
   385.9  import javax.management.namespace.JMXRemoteNamespace;
  385.10  import javax.management.namespace.JMXNamespace;
  385.11 @@ -215,9 +216,20 @@
  385.12                  assertEquals(proxy.queryNames(
  385.13                          new ObjectName(":*"),null).
  385.14                          contains(moi3.getObjectName()),true);
  385.15 -                failed("queryNames(null,null) should have failed for faked//");
  385.16 -            } catch (IllegalArgumentException x) {
  385.17 -                System.out.println("Received expected exception for faked//: "+x);
  385.18 +                failed("queryNames(new ObjectName(\":*\"),null) " +
  385.19 +                        "should have failed for faked//");
  385.20 +            } catch (RuntimeOperationsException x) {
  385.21 +                if (x.getCause() instanceof IllegalArgumentException)
  385.22 +                    System.out.println(
  385.23 +                            "Received expected exception for faked//: "+x);
  385.24 +                else {
  385.25 +                    System.err.println(
  385.26 +                            "Expected exception has unexpected cause " +
  385.27 +                            "for faked//: "+x.getCause());
  385.28 +                    x.printStackTrace();
  385.29 +                    failed("queryNames(new ObjectName(\":*\"),null)" +
  385.30 +                            " failed with unexpected cause for faked//");
  385.31 +                }
  385.32              }
  385.33              // These should fail because the ObjectName doesn't start
  385.34              // with "faked//"
  385.35 @@ -226,9 +238,20 @@
  385.36                      "new ObjectName(\":*\"),null) with faked//");
  385.37                  assertEquals(proxy.queryMBeans(
  385.38                          new ObjectName(":*"),null).contains(moi3),true);
  385.39 -                failed("queryMBeans(null,null) should have failed for faked//");
  385.40 -            } catch (IllegalArgumentException x) {
  385.41 -                System.out.println("Received expected exception for faked//: "+x);
  385.42 +                failed("queryMBeans(new ObjectName(\":*\"),null)" +
  385.43 +                    " should have failed for faked//");
  385.44 +            } catch (RuntimeOperationsException x) {
  385.45 +                if (x.getCause() instanceof IllegalArgumentException)
  385.46 +                    System.out.println(
  385.47 +                            "Received expected exception for faked//: "+x);
  385.48 +                else {
  385.49 +                    System.err.println(
  385.50 +                            "Expected exception has unexpected cause " +
  385.51 +                            "for faked//: "+x.getCause());
  385.52 +                    x.printStackTrace();
  385.53 +                    failed("queryMBeans(new ObjectName(\":*\"),null) " +
  385.54 +                            "failed with unexpected cause for faked//");
  385.55 +                }
  385.56              }
  385.57  
  385.58              System.out.println("Checking queryNames(faked//*:*,null)");
   386.1 --- a/test/javax/management/namespace/NullObjectNameTest.java	Wed Jan 14 21:35:03 2009 -0800
   386.2 +++ b/test/javax/management/namespace/NullObjectNameTest.java	Tue Jan 20 09:42:07 2009 -0800
   386.3 @@ -41,6 +41,7 @@
   386.4  import javax.management.NotCompliantMBeanException;
   386.5  import javax.management.ObjectInstance;
   386.6  import javax.management.ObjectName;
   386.7 +import javax.management.RuntimeOperationsException;
   386.8  import javax.management.namespace.JMXNamespaces;
   386.9  import javax.management.namespace.JMXRemoteNamespace;
  386.10  import javax.management.namespace.JMXNamespace;
  386.11 @@ -189,15 +190,35 @@
  386.12                  assertEquals(proxy.queryNames(null,null).
  386.13                          contains(moi3.getObjectName()),true);
  386.14                  failed("queryNames(null,null) should have failed for faked//");
  386.15 -            } catch (IllegalArgumentException x) {
  386.16 -                System.out.println("Received expected exception for faked//: "+x);
  386.17 +            } catch (RuntimeOperationsException x) {
  386.18 +                if (x.getCause() instanceof IllegalArgumentException)
  386.19 +                    System.out.println(
  386.20 +                            "Received expected exception for faked//: "+x);
  386.21 +                else {
  386.22 +                    System.err.println(
  386.23 +                            "Expected exception has unexpected cause " +
  386.24 +                            "for faked//: "+x.getCause());
  386.25 +                    x.printStackTrace();
  386.26 +                    failed("queryNames(null,null) failed with unexpected " +
  386.27 +                            "cause for faked//");
  386.28 +                }
  386.29              }
  386.30              try {
  386.31                  System.out.println("Checking queryMBeans(null,null) with faked//");
  386.32                  assertEquals(proxy.queryMBeans(null,null).contains(moi3),true);
  386.33                  failed("queryMBeans(null,null) should have failed for faked//");
  386.34 -            } catch (IllegalArgumentException x) {
  386.35 -                System.out.println("Received expected exception for faked//: "+x);
  386.36 +            } catch (RuntimeOperationsException x) {
  386.37 +                if (x.getCause() instanceof IllegalArgumentException)
  386.38 +                    System.out.println(
  386.39 +                            "Received expected exception for faked//: "+x);
  386.40 +                else {
  386.41 +                    System.err.println(
  386.42 +                            "Expected exception has unexpected cause " +
  386.43 +                            "for faked//: "+x.getCause());
  386.44 +                    x.printStackTrace();
  386.45 +                    failed("queryMBeans(null,null) failed with unexpected " +
  386.46 +                            "cause for faked//");
  386.47 +                }
  386.48              }
  386.49              System.out.println("Checking queryNames(faked//*:*,null)");
  386.50              assertEquals(proxy.queryNames(new ObjectName("faked//*:*"),null).
   387.1 --- a/test/javax/management/namespace/QueryNamesTest.java	Wed Jan 14 21:35:03 2009 -0800
   387.2 +++ b/test/javax/management/namespace/QueryNamesTest.java	Tue Jan 20 09:42:07 2009 -0800
   387.3 @@ -25,7 +25,7 @@
   387.4   * @test QueryNamesTest.java 1.4
   387.5   * @summary Test how queryNames works with Namespaces.
   387.6   * @author Daniel Fuchs
   387.7 - * @bug 5072476
   387.8 + * @bug 5072476 6768935
   387.9   * @run clean QueryNamesTest Wombat WombatMBean
  387.10   * @run build QueryNamesTest Wombat WombatMBean
  387.11   * @run main QueryNamesTest
  387.12 @@ -34,6 +34,7 @@
  387.13  
  387.14  import java.io.IOException;
  387.15  import java.lang.management.ManagementFactory;
  387.16 +import java.util.ArrayList;
  387.17  import java.util.Arrays;
  387.18  import java.util.Collections;
  387.19  import java.util.HashMap;
  387.20 @@ -52,7 +53,9 @@
  387.21  import javax.management.MBeanServerConnection;
  387.22  import javax.management.MBeanServerFactory;
  387.23  import javax.management.MalformedObjectNameException;
  387.24 +import javax.management.ObjectInstance;
  387.25  import javax.management.ObjectName;
  387.26 +import javax.management.RuntimeOperationsException;
  387.27  import javax.management.namespace.JMXNamespace;
  387.28  import javax.management.namespace.JMXNamespaces;
  387.29  
  387.30 @@ -366,6 +369,66 @@
  387.31          return res;
  387.32      }
  387.33  
  387.34 +    private static void checkNsPattern(MBeanServer server) throws Exception {
  387.35 +        final List<String> list = new ArrayList<String>();
  387.36 +        for (String s : namespaces) {
  387.37 +            final String[] cmpnt = s.split("//");
  387.38 +            for (int i=0;i<cmpnt.length;i++) {
  387.39 +                final String[] clone = cmpnt.clone();
  387.40 +                if (clone[i].length() < 3) {
  387.41 +                    clone[i] = "*";
  387.42 +                } else {
  387.43 +                    clone[i] = "?"+cmpnt[i].substring(1, cmpnt[i].length()-2)+"*";
  387.44 +                }
  387.45 +                final StringBuilder sb = new StringBuilder();
  387.46 +                for (int j=0;j<cmpnt.length;j++) {
  387.47 +                    sb.append(clone[j]).append("//");
  387.48 +                }
  387.49 +                list.add(sb.toString()+"*:*");
  387.50 +            }
  387.51 +        }
  387.52 +        for (String s : list) {
  387.53 +            final Set<ObjectName> res = new HashSet<ObjectName>();
  387.54 +
  387.55 +            try {
  387.56 +                res.addAll(server.queryNames(ObjectName.valueOf(s),null));
  387.57 +            } catch (RuntimeOperationsException x) {
  387.58 +                if (x.getCause() instanceof IllegalArgumentException) {
  387.59 +                    System.out.println("queryNames("+s+"): OK - received "+x.getCause());
  387.60 +                    continue;
  387.61 +                }
  387.62 +                System.err.println("queryNames("+s+"): Bad cause: "+x.getCause());
  387.63 +                throw x;
  387.64 +            } catch (Exception x) {
  387.65 +                System.err.println("queryNames("+s+"): Bad exception: "+x);
  387.66 +                throw x;
  387.67 +            }
  387.68 +            System.err.println("queryNames("+s+"): Bad result: "+res);
  387.69 +            System.err.println("queryNames("+s+"): Excpected exception not thrown.");
  387.70 +            throw new Exception("queryNames("+s+"): Excpected exception not thrown.");
  387.71 +        }
  387.72 +        for (String s : list) {
  387.73 +            final Set<ObjectInstance> res = new HashSet<ObjectInstance>();
  387.74 +
  387.75 +            try {
  387.76 +                res.addAll(server.queryMBeans(ObjectName.valueOf(s),null));
  387.77 +            } catch (RuntimeOperationsException x) {
  387.78 +                if (x.getCause() instanceof IllegalArgumentException) {
  387.79 +                    System.out.println("queryMBeans("+s+"): OK - received "+x.getCause());
  387.80 +                    continue;
  387.81 +                }
  387.82 +                System.err.println("queryMBeans("+s+"): Bad cause: "+x.getCause());
  387.83 +                throw x;
  387.84 +            } catch (Exception x) {
  387.85 +                System.err.println("queryMBeans("+s+"): Bad exception: "+x);
  387.86 +                throw x;
  387.87 +            }
  387.88 +            System.err.println("queryMBeans("+s+"): Bad result: "+res);
  387.89 +            System.err.println("queryMBeans("+s+"): Excpected exception not thrown.");
  387.90 +            throw new Exception("queryMBeans("+s+"): Excpected exception not thrown.");
  387.91 +        }
  387.92 +    }
  387.93 +
  387.94      public static void main(String[] args)
  387.95          throws Exception {
  387.96          final MBeanServer server = ManagementFactory.getPlatformMBeanServer();
  387.97 @@ -378,6 +441,7 @@
  387.98              System.out.println("Domains: " +Arrays.asList(server.getDomains()));
  387.99              checkRegistration(server);
 387.100              checkNsQuery(server);
 387.101 +            checkNsPattern(server);
 387.102          } finally {
 387.103              boolean res = true;
 387.104              res = res && removeWombats(server, wombats);
   388.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   388.2 +++ b/test/javax/management/notification/SupportClearTest.java	Tue Jan 20 09:42:07 2009 -0800
   388.3 @@ -0,0 +1,80 @@
   388.4 +/*
   388.5 + * Copyright 2005 Sun Microsystems, Inc.  All Rights Reserved.
   388.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   388.7 + *
   388.8 + * This code is free software; you can redistribute it and/or modify it
   388.9 + * under the terms of the GNU General Public License version 2 only, as
  388.10 + * published by the Free Software Foundation.
  388.11 + *
  388.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  388.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  388.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  388.15 + * version 2 for more details (a copy is included in the LICENSE file that
  388.16 + * accompanied this code).
  388.17 + *
  388.18 + * You should have received a copy of the GNU General Public License version
  388.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  388.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  388.21 + *
  388.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  388.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
  388.24 + * have any questions.
  388.25 + */
  388.26 +
  388.27 +/*
  388.28 + * @test
  388.29 + * @bug 6336980
  388.30 + * @summary test 2 new methods: isListenedTo() and clear()
  388.31 + * @author Shanliang JIANG
  388.32 + * @run clean SupportClearTest
  388.33 + * @run build SupportClearTest
  388.34 + * @run main SupportClearTest
  388.35 + */
  388.36 +
  388.37 +import javax.management.*;
  388.38 +
  388.39 +public class SupportClearTest {
  388.40 +    private static boolean received = false;
  388.41 +
  388.42 +    public static void main(String[] args) throws Exception {
  388.43 +        System.out.println(">>> test 2 new methods: isListenedTo() and clear().");
  388.44 +
  388.45 +        final NotificationListener listener = new NotificationListener() {
  388.46 +                public void handleNotification(Notification n, Object hb) {
  388.47 +                    received = true;
  388.48 +                }
  388.49 +            };
  388.50 +
  388.51 +        final NotificationBroadcasterSupport broadcaster =
  388.52 +                new NotificationBroadcasterSupport();
  388.53 +
  388.54 +        System.out.println(">>> testing the method \"isListenedTo\"...");
  388.55 +        if (broadcaster.isListenedTo()) {
  388.56 +            throw new RuntimeException(
  388.57 +                    "Bad implementation of the method \"isListenedTo\"!");
  388.58 +        }
  388.59 +
  388.60 +        broadcaster.addNotificationListener(listener, null, null);
  388.61 +
  388.62 +        if (!broadcaster.isListenedTo()) {
  388.63 +            throw new RuntimeException(
  388.64 +                    "Bad implementation of the method \"isListenedTo\"!");
  388.65 +        }
  388.66 +
  388.67 +        System.out.println(">>> testing the method \"clear\"...");
  388.68 +        broadcaster.removeAllNotificationListeners();
  388.69 +        if (broadcaster.isListenedTo()) {
  388.70 +            throw new RuntimeException(
  388.71 +                    "Bad implementation of the method \"clear\"!");
  388.72 +        }
  388.73 +
  388.74 +        broadcaster.sendNotification(new Notification("", "", 1L));
  388.75 +
  388.76 +        if (received) {
  388.77 +            throw new RuntimeException(
  388.78 +                    "Bad implementation of the method \"clear\"!");
  388.79 +        }
  388.80 +
  388.81 +        System.out.println(">>> PASSED!");
  388.82 +    }
  388.83 +}
   389.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   389.2 +++ b/test/javax/management/openmbean/GenericMBeanExceptionTest.java	Tue Jan 20 09:42:07 2009 -0800
   389.3 @@ -0,0 +1,278 @@
   389.4 +/*
   389.5 + * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
   389.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   389.7 + *
   389.8 + * This code is free software; you can redistribute it and/or modify it
   389.9 + * under the terms of the GNU General Public License version 2 only, as
  389.10 + * published by the Free Software Foundation.
  389.11 + *
  389.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  389.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  389.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  389.15 + * version 2 for more details (a copy is included in the LICENSE file that
  389.16 + * accompanied this code).
  389.17 + *
  389.18 + * You should have received a copy of the GNU General Public License version
  389.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  389.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  389.21 + *
  389.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  389.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
  389.24 + * have any questions.
  389.25 + */
  389.26 +
  389.27 +/*
  389.28 + * @test
  389.29 + * @bug 6456269
  389.30 + * @summary Test GenericMBeanException
  389.31 + * @author Eamonn McManus
  389.32 + */
  389.33 +
  389.34 +import java.beans.ConstructorProperties;
  389.35 +import java.lang.management.ManagementFactory;
  389.36 +import java.lang.reflect.InvocationTargetException;
  389.37 +import java.lang.reflect.Method;
  389.38 +import javax.management.GenericMBeanException;
  389.39 +import javax.management.JMX;
  389.40 +import javax.management.MBeanServer;
  389.41 +import javax.management.MBeanServerConnection;
  389.42 +import javax.management.ObjectName;
  389.43 +import javax.management.openmbean.CompositeData;
  389.44 +import javax.management.openmbean.CompositeType;
  389.45 +import javax.management.openmbean.MXBeanMapping;
  389.46 +import javax.management.openmbean.MXBeanMappingFactory;
  389.47 +import javax.management.remote.JMXConnector;
  389.48 +import javax.management.remote.JMXConnectorFactory;
  389.49 +import javax.management.remote.JMXConnectorServer;
  389.50 +import javax.management.remote.JMXConnectorServerFactory;
  389.51 +import javax.management.remote.JMXServiceURL;
  389.52 +
  389.53 +public class GenericMBeanExceptionTest {
  389.54 +    private static volatile String failure = null;
  389.55 +
  389.56 +    public static interface ThrowerMBean {
  389.57 +        public void throwGeneric() throws GenericMBeanException;
  389.58 +        public void throwGeneric(Throwable cause) throws GenericMBeanException;
  389.59 +        public void throwGeneric(String errorCode) throws GenericMBeanException;
  389.60 +        public void throwGeneric(CompositeData userData) throws GenericMBeanException;
  389.61 +        public void throwGeneric(String errorCode, CompositeData userData)
  389.62 +                throws GenericMBeanException;
  389.63 +        public void throwGeneric(String errorCode, CompositeData userData, Throwable cause)
  389.64 +                throws GenericMBeanException;
  389.65 +    }
  389.66 +
  389.67 +    public static class Thrower implements ThrowerMBean {
  389.68 +
  389.69 +        public void throwGeneric() throws GenericMBeanException {
  389.70 +            throw new GenericMBeanException("Message");
  389.71 +        }
  389.72 +
  389.73 +        public void throwGeneric(Throwable cause) throws GenericMBeanException {
  389.74 +            throw new GenericMBeanException("Message", cause);
  389.75 +        }
  389.76 +
  389.77 +        public void throwGeneric(String errorCode) throws GenericMBeanException {
  389.78 +            throw new GenericMBeanException("Message", errorCode, null);
  389.79 +        }
  389.80 +
  389.81 +        public void throwGeneric(CompositeData userData) throws GenericMBeanException {
  389.82 +            throw new GenericMBeanException("Message", null, userData);
  389.83 +        }
  389.84 +
  389.85 +        public void throwGeneric(String errorCode, CompositeData userData)
  389.86 +                throws GenericMBeanException {
  389.87 +            throw new GenericMBeanException("Message", errorCode, userData);
  389.88 +        }
  389.89 +
  389.90 +        public void throwGeneric(String errorCode, CompositeData userData,
  389.91 +                                 Throwable cause) throws GenericMBeanException {
  389.92 +            throw new GenericMBeanException("Message", errorCode, userData, cause);
  389.93 +        }
  389.94 +    }
  389.95 +
  389.96 +    public static class Payload {
  389.97 +        private final int severity;
  389.98 +        private final String subsystem;
  389.99 +
 389.100 +        @ConstructorProperties({"severity", "subsystem"})
 389.101 +        public Payload(int severity, String subsystem) {
 389.102 +            this.severity = severity;
 389.103 +            this.subsystem = subsystem;
 389.104 +        }
 389.105 +
 389.106 +        public int getSeverity() {
 389.107 +            return severity;
 389.108 +        }
 389.109 +
 389.110 +        public String getSubsystem() {
 389.111 +            return subsystem;
 389.112 +        }
 389.113 +
 389.114 +        @Override
 389.115 +        public boolean equals(Object x) {
 389.116 +            if (!(x instanceof Payload))
 389.117 +                return false;
 389.118 +            Payload p = (Payload) x;
 389.119 +            return (severity == p.severity &&
 389.120 +                    (subsystem == null) ?
 389.121 +                        p.subsystem == null : subsystem.equals(p.subsystem));
 389.122 +        }
 389.123 +
 389.124 +        @Override
 389.125 +        public int hashCode() {
 389.126 +            return severity + subsystem.hashCode();
 389.127 +        }
 389.128 +
 389.129 +        @Override
 389.130 +        public String toString() {
 389.131 +            return "Payload{severity: " + severity + ", subsystem: " + subsystem + "}";
 389.132 +        }
 389.133 +    }
 389.134 +
 389.135 +    public static void main(String[] args) throws Exception {
 389.136 +        MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
 389.137 +        ObjectName name = new ObjectName("test:type=Thrower");
 389.138 +        Thrower thrower = new Thrower();
 389.139 +        mbs.registerMBean(thrower, name);
 389.140 +
 389.141 +        if (args.length > 0) {
 389.142 +            System.out.println("Attach client now, hit return to exit");
 389.143 +            System.in.read();
 389.144 +            return;
 389.145 +        }
 389.146 +
 389.147 +        JMXServiceURL url = new JMXServiceURL("service:jmx:rmi://");
 389.148 +        JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(
 389.149 +                url, null, mbs);
 389.150 +        cs.start();
 389.151 +        JMXServiceURL addr = cs.getAddress();
 389.152 +
 389.153 +        JMXConnector cc = JMXConnectorFactory.connect(addr);
 389.154 +        MBeanServerConnection mbsc = cc.getMBeanServerConnection();
 389.155 +
 389.156 +        ThrowerMBean throwerProxy = JMX.newMBeanProxy(mbsc, name, ThrowerMBean.class);
 389.157 +
 389.158 +        Payload payload = new Payload(5, "modular modulizer");
 389.159 +        MXBeanMapping payloadMapping = MXBeanMappingFactory.DEFAULT.mappingForType(
 389.160 +                Payload.class, MXBeanMappingFactory.DEFAULT);
 389.161 +        CompositeData userData = (CompositeData)
 389.162 +                payloadMapping.toOpenValue(payload);
 389.163 +        Throwable cause = new IllegalArgumentException("Badness");
 389.164 +
 389.165 +        Object[][] testCases = {
 389.166 +            {},
 389.167 +            {"code1"},
 389.168 +            {userData},
 389.169 +            {"code2", userData},
 389.170 +            {(String) null, userData},
 389.171 +            {"code99", userData, cause},
 389.172 +            {(String) null, userData, cause},
 389.173 +        };
 389.174 +
 389.175 +        for (Object[] testCase : testCases) {
 389.176 +            System.out.println("Test case: " + testCaseString(testCase));
 389.177 +
 389.178 +            // Find which ThrowerMBean method it corresponds to
 389.179 +            Method testMethod = null;
 389.180 +search:
 389.181 +            for (Method m : ThrowerMBean.class.getMethods()) {
 389.182 +                Class<?>[] paramTypes = m.getParameterTypes();
 389.183 +                if (paramTypes.length != testCase.length)
 389.184 +                    continue;
 389.185 +                for (int i = 0; i < paramTypes.length; i++) {
 389.186 +                    if (testCase[i] != null && !paramTypes[i].isInstance(testCase[i]))
 389.187 +                        continue search;
 389.188 +                }
 389.189 +                testMethod = m;
 389.190 +            }
 389.191 +
 389.192 +            if (testMethod == null) {
 389.193 +                throw new Exception("TEST ERROR: no method corresponds: " +
 389.194 +                        testCaseString(testCase));
 389.195 +            }
 389.196 +
 389.197 +            try {
 389.198 +                testMethod.invoke(throwerProxy, testCase);
 389.199 +                fail("Did not throw exception", testCase);
 389.200 +                continue;
 389.201 +            } catch (InvocationTargetException e) {
 389.202 +                Throwable iteCause = e.getCause();
 389.203 +                if (!(iteCause instanceof GenericMBeanException)) {
 389.204 +                    iteCause.printStackTrace(System.out);
 389.205 +                    fail("Threw wrong exception " + iteCause, testCase);
 389.206 +                    continue;
 389.207 +                }
 389.208 +                GenericMBeanException ge = (GenericMBeanException) iteCause;
 389.209 +                if (!ge.getMessage().equals("Message"))
 389.210 +                    fail("Wrong message: " + ge.getMessage(), testCase);
 389.211 +
 389.212 +                Class<?>[] paramTypes = testMethod.getParameterTypes();
 389.213 +                for (int i = 0; i < paramTypes.length; i++) {
 389.214 +                    Class<?> paramType = paramTypes[i];
 389.215 +
 389.216 +                    if (paramType == Throwable.class) { // cause
 389.217 +                        Throwable geCause = ge.getCause();
 389.218 +                        if (!(geCause instanceof IllegalArgumentException))
 389.219 +                            fail("Wrong cause: " + geCause, testCase);
 389.220 +                        else if (!geCause.getMessage().equals("Badness"))
 389.221 +                            fail("Wrong cause message: " + geCause.getMessage(), testCase);
 389.222 +                    } else if (paramType == String.class) { // errorCode
 389.223 +                        String errorCode = ge.getErrorCode();
 389.224 +                        String expectedErrorCode =
 389.225 +                                (testCase[i] == null) ? "" : (String) testCase[i];
 389.226 +                        if (!expectedErrorCode.equals(errorCode))
 389.227 +                            fail("Wrong error code: " + ge.getErrorCode(), testCase);
 389.228 +                    } else if (paramType == CompositeData.class) { // userData
 389.229 +                        CompositeData userData2 = ge.getUserData();
 389.230 +                        if (!userData.equals(userData2))
 389.231 +                            fail("Wrong userData: " + userData2, testCase);
 389.232 +                        Payload payload2 = (Payload) payloadMapping.fromOpenValue(userData2);
 389.233 +                        if (!payload.equals(payload2))
 389.234 +                            fail("Wrong payload: " + payload2, testCase);
 389.235 +                    } else
 389.236 +                        throw new Exception("TEST ERROR: unknown parameter type: " + paramType);
 389.237 +                }
 389.238 +            }
 389.239 +        }
 389.240 +
 389.241 +        if (failure == null)
 389.242 +            System.out.println("TEST PASSED");
 389.243 +        else
 389.244 +            throw new Exception("TEST FAILED: " + failure);
 389.245 +    }
 389.246 +
 389.247 +    private static String testCaseString(Object[] testCase) {
 389.248 +        StringBuilder sb = new StringBuilder("[");
 389.249 +        String sep = "";
 389.250 +        for (Object x : testCase) {
 389.251 +            sb.append(sep);
 389.252 +            String xs = (x instanceof CompositeData) ?
 389.253 +                compositeDataString((CompositeData) x) : String.valueOf(x);
 389.254 +            sb.append(xs);
 389.255 +            sep = ", ";
 389.256 +        }
 389.257 +        sb.append("]");
 389.258 +        return sb.toString();
 389.259 +    }
 389.260 +
 389.261 +    private static String compositeDataString(CompositeData cd) {
 389.262 +        StringBuilder sb = new StringBuilder("CompositeData{");
 389.263 +        CompositeType ct = cd.getCompositeType();
 389.264 +        String sep = "";
 389.265 +        for (String key : ct.keySet()) {
 389.266 +            sb.append(sep).append(key).append(": ").append(cd.get(key));
 389.267 +            sep = ", ";
 389.268 +        }
 389.269 +        sb.append("}");
 389.270 +        return sb.toString();
 389.271 +    }
 389.272 +
 389.273 +    private static void fail(String why, Object[] testCase) {
 389.274 +        fail(testCaseString(testCase) + ": " + why);
 389.275 +    }
 389.276 +
 389.277 +    private static void fail(String why) {
 389.278 +        failure = why;
 389.279 +        System.out.println("FAIL: " + why);
 389.280 +    }
 389.281 +}
   390.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   390.2 +++ b/test/javax/management/remote/mandatory/connection/DaemonRMIExporterTest.java	Tue Jan 20 09:42:07 2009 -0800
   390.3 @@ -0,0 +1,123 @@
   390.4 +/*
   390.5 + * Copyright 2003-2008 Sun Microsystems, Inc.  All Rights Reserved.
   390.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   390.7 + *
   390.8 + * This code is free software; you can redistribute it and/or modify it
   390.9 + * under the terms of the GNU General Public License version 2 only, as
  390.10 + * published by the Free Software Foundation.
  390.11 + *
  390.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  390.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  390.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  390.15 + * version 2 for more details (a copy is included in the LICENSE file that
  390.16 + * accompanied this code).
  390.17 + *
  390.18 + * You should have received a copy of the GNU General Public License version
  390.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  390.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  390.21 + *
  390.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  390.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
  390.24 + * have any questions.
  390.25 + */
  390.26 +
  390.27 +
  390.28 +/*
  390.29 + * @test
  390.30 + * @bug 6760712
  390.31 + * @summary test the connector server option that causes it not to prevent the
  390.32 + * VM from exiting
  390.33 + * @author Shanliang JIANG, Eamonn McManus
  390.34 + * @run main/othervm DaemonRMIExporterTest
  390.35 + */
  390.36 +import java.util.Arrays;
  390.37 +import java.util.Collections;
  390.38 +import java.util.HashSet;
  390.39 +import java.util.Map;
  390.40 +import java.util.Set;
  390.41 +
  390.42 +import javax.management.MBeanServerFactory;
  390.43 +import javax.management.remote.JMXConnector;
  390.44 +import javax.management.remote.JMXConnectorFactory;
  390.45 +import javax.management.remote.JMXServiceURL;
  390.46 +import javax.management.remote.JMXConnectorServer;
  390.47 +import javax.management.remote.JMXConnectorServerFactory;
  390.48 +
  390.49 +// Test the connector server option that causes it not to prevent the VM
  390.50 +// from exiting.  It's tricky to test exactly that, though possible.  If
  390.51 +// we're being run from within jtreg, then jtreg has threads of its own
  390.52 +// that will prevent the VM from exiting.  What's more it will kill all
  390.53 +// threads that the test created as soon as the main method returns,
  390.54 +// including the ones that would prevent the VM from exiting without the
  390.55 +// special option.
  390.56 +// Here we check that the test code does not create
  390.57 +// any permanent non-daemon threads, by recording the initial set of
  390.58 +// non-daemon threads (including at least one from jtreg), doing our stuff,
  390.59 +// then waiting for there to be no non-daemon threads that were not in
  390.60 +// the initial set.
  390.61 +public class DaemonRMIExporterTest {
  390.62 +    public static void main(String[] args) throws Exception {
  390.63 +        Set<Thread> initialNonDaemonThreads = getNonDaemonThreads();
  390.64 +
  390.65 +        JMXServiceURL addr = new JMXServiceURL("rmi", null, 0);
  390.66 +        System.out.println("DaemonRMIExporterTest: Creating a RMIConnectorServer on " + addr);
  390.67 +        Map<String, ?> env =
  390.68 +            Collections.singletonMap("jmx.remote.x.daemon", "true");
  390.69 +        JMXConnectorServer server =
  390.70 +                JMXConnectorServerFactory.newJMXConnectorServer(addr,
  390.71 +                env,
  390.72 +                MBeanServerFactory.createMBeanServer());
  390.73 +        server.start();
  390.74 +        System.out.println("DaemonRMIExporterTest: Started the server on " + server.getAddress());
  390.75 +
  390.76 +        System.out.println("DaemonRMIExporterTest: Connecting a client to the server ...");
  390.77 +        final JMXConnector conn = JMXConnectorFactory.connect(server.getAddress());
  390.78 +        conn.getMBeanServerConnection().getDefaultDomain();
  390.79 +
  390.80 +        System.out.println("DaemonRMIExporterTest: Closing the client ...");
  390.81 +        conn.close();
  390.82 +
  390.83 +        System.out.println("DaemonRMIExporterTest No more user code to execute, the VM should " +
  390.84 +                "exit normally, otherwise will be blocked forever if the bug is not fixed.");
  390.85 +
  390.86 +        long deadline = System.currentTimeMillis() + 10000;
  390.87 +        ok: {
  390.88 +            while (System.currentTimeMillis() < deadline) {
  390.89 +                Set<Thread> nonDaemonThreads = getNonDaemonThreads();
  390.90 +                nonDaemonThreads.removeAll(initialNonDaemonThreads);
  390.91 +                if (nonDaemonThreads.isEmpty())
  390.92 +                    break ok;
  390.93 +                System.out.println("Non-daemon threads: " + nonDaemonThreads);
  390.94 +                try {
  390.95 +                    Thread.sleep(500);
  390.96 +                } catch (InterruptedException e) {
  390.97 +                    throw new AssertionError(e);
  390.98 +                }
  390.99 +            }
 390.100 +            throw new Exception("TEST FAILED: non-daemon threads remain");
 390.101 +        }
 390.102 +
 390.103 +        System.out.println("TEST PASSED");
 390.104 +    }
 390.105 +
 390.106 +    private static Set<Thread> getNonDaemonThreads() {
 390.107 +        ThreadGroup tg = Thread.currentThread().getThreadGroup();
 390.108 +        while (tg.getParent() != null)
 390.109 +            tg = tg.getParent();
 390.110 +        Thread[] threads = null;
 390.111 +        for (int size = 10; size < 10000; size *= 2) {
 390.112 +            threads = new Thread[size];
 390.113 +            int n = tg.enumerate(threads, true);
 390.114 +            if (n < size) {
 390.115 +                threads = Arrays.copyOf(threads, n);
 390.116 +                break;
 390.117 +            }
 390.118 +        }
 390.119 +        Set<Thread> ndThreads = new HashSet<Thread>();
 390.120 +        for (Thread t : threads) {
 390.121 +            if (!t.isDaemon())
 390.122 +                ndThreads.add(t);
 390.123 +        }
 390.124 +        return ndThreads;
 390.125 +    }
 390.126 +}
   391.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   391.2 +++ b/test/javax/management/remote/mandatory/connectorServer/CloseConnectionTest.java	Tue Jan 20 09:42:07 2009 -0800
   391.3 @@ -0,0 +1,217 @@
   391.4 +/*
   391.5 + * Copyright 2003-2008 Sun Microsystems, Inc.  All Rights Reserved.
   391.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   391.7 + *
   391.8 + * This code is free software; you can redistribute it and/or modify it
   391.9 + * under the terms of the GNU General Public License version 2 only, as
  391.10 + * published by the Free Software Foundation.
  391.11 + *
  391.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  391.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  391.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  391.15 + * version 2 for more details (a copy is included in the LICENSE file that
  391.16 + * accompanied this code).
  391.17 + *
  391.18 + * You should have received a copy of the GNU General Public License version
  391.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  391.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  391.21 + *
  391.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  391.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
  391.24 + * have any questions.
  391.25 + */
  391.26 +
  391.27 +
  391.28 +/*
  391.29 + * @test
  391.30 + * @bug 6332907
  391.31 + * @summary test the ability for connector server to close individual connections
  391.32 + * @author Shanliang JIANG
  391.33 + * @run clean CloseConnectionTest
  391.34 + * @run build CloseConnectionTest
  391.35 + * @run main CloseConnectionTest
  391.36 + */
  391.37 +import java.io.IOException;
  391.38 +import java.util.ArrayList;
  391.39 +import java.util.List;
  391.40 +import javax.management.MBeanServerFactory;
  391.41 +
  391.42 +import javax.management.Notification;
  391.43 +import javax.management.NotificationListener;
  391.44 +import javax.management.remote.JMXConnectionNotification;
  391.45 +import javax.management.remote.JMXConnector;
  391.46 +import javax.management.remote.JMXConnectorFactory;
  391.47 +import javax.management.remote.JMXServiceURL;
  391.48 +import javax.management.remote.JMXConnectorServer;
  391.49 +import javax.management.remote.JMXConnectorServerFactory;
  391.50 +
  391.51 +public class CloseConnectionTest {
  391.52 +
  391.53 +    public static void main(String[] args) throws Exception {
  391.54 +        System.out.println(">>> Test the ability for connector server to close " +
  391.55 +                "individual connections.");
  391.56 +
  391.57 +        final String[] protos = new String[]{"rmi", "iiop", "jmxmp"};
  391.58 +        for (String p : protos) {
  391.59 +            System.out.println("\n>>> Testing the protocol " + p);
  391.60 +            JMXServiceURL addr = new JMXServiceURL(p, null, 0);
  391.61 +            System.out.println(">>> Creating a JMXConnectorServer on " + addr);
  391.62 +            JMXConnectorServer server = null;
  391.63 +            try {
  391.64 +                server = JMXConnectorServerFactory.newJMXConnectorServer(addr,
  391.65 +                        null,
  391.66 +                        MBeanServerFactory.createMBeanServer());
  391.67 +            } catch (Exception e) {
  391.68 +                System.out.println(">>> Skip the protocol: " + p);
  391.69 +                continue;
  391.70 +            }
  391.71 +
  391.72 +            test1(server);
  391.73 +            test2(server);
  391.74 +
  391.75 +            server.stop();
  391.76 +        }
  391.77 +
  391.78 +        System.out.println(">>> Bye bye!");
  391.79 +    }
  391.80 +
  391.81 +    private static void test1(JMXConnectorServer server) throws Exception {
  391.82 +        try {
  391.83 +            server.closeConnection("toto");
  391.84 +            // not started, known id
  391.85 +            throw new RuntimeException("An IllegalArgumentException is not thrown.");
  391.86 +        } catch (IllegalStateException e) {
  391.87 +            System.out.println(">>> Test1: Got expected IllegalStateException: " + e);
  391.88 +        }
  391.89 +
  391.90 +        server.start();
  391.91 +        System.out.println(">>>Test1 Started the server on " + server.getAddress());
  391.92 +
  391.93 +        try {
  391.94 +            server.closeConnection("toto");
  391.95 +            throw new RuntimeException("An IllegalArgumentException is not thrown.");
  391.96 +        } catch (IllegalArgumentException e) {
  391.97 +            System.out.println(">> Test1: Got expected IllegalArgumentException: " + e);
  391.98 +        }
  391.99 +
 391.100 +        MyListener listener = new MyListener();
 391.101 +        server.addNotificationListener(listener, null, null);
 391.102 +
 391.103 +        System.out.println(">>> Test1: Connecting a client to the server ...");
 391.104 +        final JMXConnector conn = JMXConnectorFactory.connect(server.getAddress());
 391.105 +        conn.getMBeanServerConnection().getDefaultDomain();
 391.106 +        final String id1 = conn.getConnectionId();
 391.107 +
 391.108 +        listener.wait(JMXConnectionNotification.OPENED, timeout);
 391.109 +
 391.110 +        System.out.println(">>> Test1: Closing the connection: " + conn.getConnectionId());
 391.111 +        server.closeConnection(id1);
 391.112 +        listener.wait(JMXConnectionNotification.CLOSED, timeout);
 391.113 +
 391.114 +        System.out.println(">>> Test1: Using again the connector whose connection " +
 391.115 +                "should be closed by the server, it should reconnect " +
 391.116 +                "automatically to the server and get a new connection id.");
 391.117 +        conn.getMBeanServerConnection().getDefaultDomain();
 391.118 +        final String id2 = conn.getConnectionId();
 391.119 +        listener.wait(JMXConnectionNotification.OPENED, timeout);
 391.120 +
 391.121 +        if (id1.equals(id2)) {
 391.122 +            throw new RuntimeException("Failed, the first client connection is not closed.");
 391.123 +        }
 391.124 +
 391.125 +        System.out.println(">>> Test1: Greate, we get a new connection id " + id2 +
 391.126 +                ", the first one is closed as expected.");
 391.127 +
 391.128 +        System.out.println(">>> Test1: Closing the client.");
 391.129 +        conn.close();
 391.130 +        System.out.println(">>> Test1: Stopping the server.");
 391.131 +        server.removeNotificationListener(listener);
 391.132 +    }
 391.133 +
 391.134 +    private static void test2(JMXConnectorServer server) throws Exception {
 391.135 +        System.out.println(">>> Test2 close a connection before " +
 391.136 +                "the client can use it...");
 391.137 +        final Killer killer = new Killer(server);
 391.138 +        server.addNotificationListener(killer, null, null);
 391.139 +
 391.140 +        System.out.println(">>> Test2 Connecting a client to the server ...");
 391.141 +        final JMXConnector conn;
 391.142 +        try {
 391.143 +            conn = JMXConnectorFactory.connect(server.getAddress());
 391.144 +            throw new RuntimeException(">>> Failed, do not receive an " +
 391.145 +                    "IOException telling the connection is refused.");
 391.146 +        } catch (IOException ioe) {
 391.147 +            System.out.println(">>> Test2 got expected IOException: "+ioe);
 391.148 +        }
 391.149 +    }
 391.150 +
 391.151 +    private static class MyListener implements NotificationListener {
 391.152 +        public void handleNotification(Notification n, Object hb) {
 391.153 +            if (n instanceof JMXConnectionNotification) {
 391.154 +                synchronized (received) {
 391.155 +                    received.add((JMXConnectionNotification) n);
 391.156 +                    received.notify();
 391.157 +                }
 391.158 +            }
 391.159 +        }
 391.160 +
 391.161 +        public JMXConnectionNotification wait(String type, long timeout)
 391.162 +                throws Exception {
 391.163 +            JMXConnectionNotification waited = null;
 391.164 +            long toWait = timeout;
 391.165 +            long deadline = System.currentTimeMillis() + timeout;
 391.166 +            synchronized (received) {
 391.167 +                while (waited == null && toWait > 0) {
 391.168 +                    received.wait(toWait);
 391.169 +                    for (JMXConnectionNotification n : received) {
 391.170 +                        if (type.equals(n.getType())) {
 391.171 +                            waited = n;
 391.172 +                            break;
 391.173 +                        }
 391.174 +                    }
 391.175 +                    received.clear();
 391.176 +                    toWait = deadline - System.currentTimeMillis();
 391.177 +                }
 391.178 +            }
 391.179 +
 391.180 +            if (waited == null) {
 391.181 +                throw new RuntimeException("Do not receive expected notification " + type);
 391.182 +            } else {
 391.183 +                System.out.println(">>> Received expected notif: "+type+
 391.184 +                        " "+waited.getConnectionId());
 391.185 +            }
 391.186 +
 391.187 +            return waited;
 391.188 +        }
 391.189 +
 391.190 +        final List<JMXConnectionNotification> received =
 391.191 +                new ArrayList<JMXConnectionNotification>();
 391.192 +    }
 391.193 +
 391.194 +    private static class Killer implements NotificationListener {
 391.195 +        public Killer(JMXConnectorServer server) {
 391.196 +            this.server = server;
 391.197 +        }
 391.198 +        public void handleNotification(Notification n, Object hb) {
 391.199 +            if (n instanceof JMXConnectionNotification) {
 391.200 +                if (JMXConnectionNotification.OPENED.equals(n.getType())) {
 391.201 +                    final JMXConnectionNotification cn =
 391.202 +                            (JMXConnectionNotification)n;
 391.203 +                    try {
 391.204 +                        System.out.println(">>> Killer: close the connection "+
 391.205 +                                cn.getConnectionId());
 391.206 +                        server.closeConnection(cn.getConnectionId());
 391.207 +                    } catch (Exception e) {
 391.208 +                        // impossible?
 391.209 +                        e.printStackTrace();
 391.210 +                        System.exit(1);
 391.211 +                    }
 391.212 +                }
 391.213 +            }
 391.214 +        }
 391.215 +
 391.216 +        private final JMXConnectorServer server;
 391.217 +    }
 391.218 +
 391.219 +    private static final long timeout = 6000;
 391.220 +}
   392.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   392.2 +++ b/test/javax/management/standardmbean/FindMethodTest.java	Tue Jan 20 09:42:07 2009 -0800
   392.3 @@ -0,0 +1,384 @@
   392.4 +/*
   392.5 + * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
   392.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   392.7 + *
   392.8 + * This code is free software; you can redistribute it and/or modify it
   392.9 + * under the terms of the GNU General Public License version 2 only, as
  392.10 + * published by the Free Software Foundation.
  392.11 + *
  392.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  392.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  392.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  392.15 + * version 2 for more details (a copy is included in the LICENSE file that
  392.16 + * accompanied this code).
  392.17 + *
  392.18 + * You should have received a copy of the GNU General Public License version
  392.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  392.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  392.21 + *
  392.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  392.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
  392.24 + * have any questions.
  392.25 + */
  392.26 +
  392.27 +/*
  392.28 + * @test
  392.29 + * @bug 6287328
  392.30 + * @summary Add methods to StandardMBean to retrieve a method based on
  392.31 + * MBean{Attribute|Operation}Info
  392.32 + * @author Jean-Francois Denise
  392.33 + * @run main FindMethodTest
  392.34 + */
  392.35 +
  392.36 +import java.lang.management.ManagementFactory;
  392.37 +import java.lang.management.MemoryMXBean;
  392.38 +import java.lang.management.ThreadMXBean;
  392.39 +import java.lang.reflect.Method;
  392.40 +import java.util.HashMap;
  392.41 +import java.util.HashSet;
  392.42 +import java.util.Map;
  392.43 +import java.util.Set;
  392.44 +import javax.management.MBean;
  392.45 +import javax.management.MBeanAttributeInfo;
  392.46 +import javax.management.MBeanInfo;
  392.47 +import javax.management.MBeanOperationInfo;
  392.48 +import javax.management.MBeanParameterInfo;
  392.49 +import javax.management.MBeanServer;
  392.50 +import javax.management.ManagedAttribute;
  392.51 +import javax.management.ManagedOperation;
  392.52 +import javax.management.ObjectName;
  392.53 +import javax.management.StandardMBean;
  392.54 +
  392.55 +public class FindMethodTest {
  392.56 +
  392.57 +    private static MBeanServer server =
  392.58 +            ManagementFactory.getPlatformMBeanServer();
  392.59 +
  392.60 +    private static Map<String, Set<Method>> expectedMapping =
  392.61 +            new HashMap<String, Set<Method>>();
  392.62 +    private static Set<Method> STATE_SET = new HashSet<Method>();
  392.63 +    private static Set<Method> ENABLED_SET = new HashSet<Method>();
  392.64 +    private static Set<Method> DOIT_SET = new HashSet<Method>();
  392.65 +    private static Set<Method> STATUS_SET = new HashSet<Method>();
  392.66 +    private static Set<Method> HEAPMEMORYUSAGE_SET = new HashSet<Method>();
  392.67 +    private static Set<Method> THREADINFO_SET = new HashSet<Method>();
  392.68 +    private static Set<Method> DOIT_ANNOTATED_SET = new HashSet<Method>();
  392.69 +    private static Set<Method> IT_ANNOTATED_SET = new HashSet<Method>();
  392.70 +    private static HashSet<Set<Method>> TEST_MBEAN_SET =
  392.71 +            new HashSet<Set<Method>>();
  392.72 +    private static HashSet<Set<Method>> ANNOTATED_MBEAN_SET =
  392.73 +            new HashSet<Set<Method>>();
  392.74 +    private static HashSet<Set<Method>> MEMORY_MBEAN_SET =
  392.75 +            new HashSet<Set<Method>>();
  392.76 +    private static HashSet<Set<Method>> THREAD_MBEAN_SET =
  392.77 +            new HashSet<Set<Method>>();
  392.78 +
  392.79 +    public interface TestMBean {
  392.80 +
  392.81 +        public void doIt();
  392.82 +
  392.83 +        public void setState(String str);
  392.84 +
  392.85 +        public String getState();
  392.86 +
  392.87 +        public boolean isEnabled();
  392.88 +
  392.89 +        public void setStatus(int i);
  392.90 +    }
  392.91 +
  392.92 +    public interface FaultyTestMBean {
  392.93 +
  392.94 +        public void doIt(String doIt);
  392.95 +
  392.96 +        public long getState();
  392.97 +
  392.98 +        public void setEnabled(boolean b);
  392.99 +
 392.100 +        public int getStatus();
 392.101 +
 392.102 +        public String setWrong(int i);
 392.103 +    }
 392.104 +
 392.105 +    @MBean
 392.106 +    public static class AnnotatedTest {
 392.107 +        @ManagedOperation
 392.108 +        public void doItAnnotated() {
 392.109 +
 392.110 +        }
 392.111 +
 392.112 +        public void dontDoIt() {
 392.113 +
 392.114 +        }
 392.115 +
 392.116 +        @ManagedAttribute
 392.117 +        public String getItAnnotated() {
 392.118 +            return null;
 392.119 +        }
 392.120 +        @ManagedAttribute
 392.121 +        public void setItAnnotated(String str) {
 392.122 +
 392.123 +        }
 392.124 +
 392.125 +        public String getItNot() {
 392.126 +            return null;
 392.127 +        }
 392.128 +
 392.129 +    }
 392.130 +
 392.131 +    static class Test implements TestMBean {
 392.132 +
 392.133 +        public void doIt() {
 392.134 +            throw new UnsupportedOperationException("Not supported yet.");
 392.135 +        }
 392.136 +
 392.137 +        public void setState(String str) {
 392.138 +            throw new UnsupportedOperationException("Not supported yet.");
 392.139 +        }
 392.140 +
 392.141 +        public String getState() {
 392.142 +            throw new UnsupportedOperationException("Not supported yet.");
 392.143 +        }
 392.144 +
 392.145 +        public boolean isEnabled() {
 392.146 +            throw new UnsupportedOperationException("Not supported yet.");
 392.147 +        }
 392.148 +
 392.149 +        public void setStatus(int i) {
 392.150 +            throw new UnsupportedOperationException("Not supported yet.");
 392.151 +        }
 392.152 +    }
 392.153 +
 392.154 +
 392.155 +    static {
 392.156 +        try {
 392.157 +            ENABLED_SET.add(TestMBean.class.getDeclaredMethod("isEnabled"));
 392.158 +
 392.159 +            STATE_SET.add(TestMBean.class.getDeclaredMethod("getState"));
 392.160 +            STATE_SET.add(TestMBean.class.getDeclaredMethod("setState",
 392.161 +                    String.class));
 392.162 +            STATUS_SET.add(TestMBean.class.getDeclaredMethod("setStatus",
 392.163 +                    int.class));
 392.164 +
 392.165 +            DOIT_SET.add(TestMBean.class.getDeclaredMethod("doIt"));
 392.166 +
 392.167 +            DOIT_ANNOTATED_SET.add(AnnotatedTest.class.getDeclaredMethod("doItAnnotated"));
 392.168 +
 392.169 +            IT_ANNOTATED_SET.add(AnnotatedTest.class.getDeclaredMethod("getItAnnotated"));
 392.170 +            IT_ANNOTATED_SET.add(AnnotatedTest.class.getDeclaredMethod("setItAnnotated", String.class));
 392.171 +
 392.172 +            THREADINFO_SET.add(ThreadMXBean.class.getDeclaredMethod("dumpAllThreads", boolean.class,
 392.173 +                    boolean.class));
 392.174 +
 392.175 +            HEAPMEMORYUSAGE_SET.add(MemoryMXBean.class.getDeclaredMethod("getHeapMemoryUsage"));
 392.176 +
 392.177 +            TEST_MBEAN_SET.add(ENABLED_SET);
 392.178 +            TEST_MBEAN_SET.add(STATE_SET);
 392.179 +            TEST_MBEAN_SET.add(STATUS_SET);
 392.180 +            TEST_MBEAN_SET.add(DOIT_SET);
 392.181 +
 392.182 +            ANNOTATED_MBEAN_SET.add(DOIT_ANNOTATED_SET);
 392.183 +            ANNOTATED_MBEAN_SET.add(IT_ANNOTATED_SET);
 392.184 +
 392.185 +            MEMORY_MBEAN_SET.add(HEAPMEMORYUSAGE_SET);
 392.186 +
 392.187 +            THREAD_MBEAN_SET.add(THREADINFO_SET);
 392.188 +
 392.189 +            expectedMapping.put("State", STATE_SET);
 392.190 +            expectedMapping.put("Enabled", ENABLED_SET);
 392.191 +            expectedMapping.put("Status", STATUS_SET);
 392.192 +            expectedMapping.put("doIt", DOIT_SET);
 392.193 +            expectedMapping.put("HeapMemoryUsage", HEAPMEMORYUSAGE_SET);
 392.194 +            expectedMapping.put("dumpAllThreads", THREADINFO_SET);
 392.195 +            expectedMapping.put("doItAnnotated", DOIT_ANNOTATED_SET);
 392.196 +            expectedMapping.put("ItAnnotated", IT_ANNOTATED_SET);
 392.197 +
 392.198 +        } catch (Exception ex) {
 392.199 +            ex.printStackTrace();
 392.200 +            throw new RuntimeException("Initialization failed");
 392.201 +        }
 392.202 +    }
 392.203 +
 392.204 +    private static void testMBean(ObjectName name, Class<?> itf,
 392.205 +            HashSet<Set<Method>> expectMappings)
 392.206 +            throws Exception {
 392.207 +
 392.208 +        Set<Set<Method>> expectedMappings =
 392.209 +                (Set<Set<Method>>) expectMappings.clone();
 392.210 +
 392.211 +        MBeanInfo info = server.getMBeanInfo(name);
 392.212 +        for (MBeanAttributeInfo attr : info.getAttributes()) {
 392.213 +            Set<Method> expected = expectedMapping.get(attr.getName());
 392.214 +            if (expected == null) {
 392.215 +                continue;
 392.216 +            }
 392.217 +            if (!expectedMappings.remove(expected)) {
 392.218 +                throw new Exception("The mapping to use is not the expected " +
 392.219 +                        "one for " + attr);
 392.220 +            }
 392.221 +            System.out.println("Expected : " + expected);
 392.222 +            Set<Method> found =
 392.223 +                    StandardMBean.findAttributeAccessors(itf, attr);
 392.224 +            System.out.println("Found : " + found);
 392.225 +            if (!found.equals(expected)) {
 392.226 +                throw new Exception("Mapping error.");
 392.227 +            }
 392.228 +        }
 392.229 +        for (MBeanOperationInfo op : info.getOperations()) {
 392.230 +            Set<Method> expected = expectedMapping.get(op.getName());
 392.231 +            if (expected == null) {
 392.232 +                continue;
 392.233 +            }
 392.234 +            if (!expectedMappings.remove(expected)) {
 392.235 +                throw new Exception("The mapping to use is not the expected " +
 392.236 +                        "one for " + op);
 392.237 +            }
 392.238 +            System.out.println("Expected : " + expected);
 392.239 +            Method method =
 392.240 +                    StandardMBean.findOperationMethod(itf, op);
 392.241 +            Set<Method> found = new HashSet<Method>();
 392.242 +            found.add(method);
 392.243 +            System.out.println("Found : " + found);
 392.244 +            if (!found.equals(expected)) {
 392.245 +                throw new Exception("Mapping error.");
 392.246 +            }
 392.247 +        }
 392.248 +
 392.249 +        if (expectedMappings.size() != 0) {
 392.250 +            throw new Exception("Some mapping have not been found " +
 392.251 +                    expectedMappings);
 392.252 +        } else {
 392.253 +            System.out.println("All mappings have been found");
 392.254 +        }
 392.255 +    }
 392.256 +
 392.257 +    public static void main(String[] args) throws Exception {
 392.258 +        // Positive tests
 392.259 +        Test t = new Test();
 392.260 +        ObjectName name = ObjectName.valueOf(":type=Test");
 392.261 +        server.registerMBean(t, name);
 392.262 +        AnnotatedTest at = new AnnotatedTest();
 392.263 +        ObjectName annotatedName = ObjectName.valueOf(":type=AnnotatedTest");
 392.264 +        server.registerMBean(at, annotatedName);
 392.265 +
 392.266 +        testMBean(name, TestMBean.class, TEST_MBEAN_SET);
 392.267 +
 392.268 +        testMBean(annotatedName, AnnotatedTest.class, ANNOTATED_MBEAN_SET);
 392.269 +
 392.270 +        ObjectName memoryName =
 392.271 +                ObjectName.valueOf(ManagementFactory.MEMORY_MXBEAN_NAME);
 392.272 +        testMBean(memoryName, MemoryMXBean.class, MEMORY_MBEAN_SET);
 392.273 +
 392.274 +        ObjectName threadName =
 392.275 +                ObjectName.valueOf(ManagementFactory.THREAD_MXBEAN_NAME);
 392.276 +        testMBean(threadName, ThreadMXBean.class, THREAD_MBEAN_SET);
 392.277 +
 392.278 +        // Negative tests
 392.279 +        try {
 392.280 +            StandardMBean.findOperationMethod(null,
 392.281 +                    new MBeanOperationInfo("Test",
 392.282 +                    TestMBean.class.getDeclaredMethod("doIt")));
 392.283 +            throw new Exception("Expected exception not found");
 392.284 +        } catch (IllegalArgumentException ex) {
 392.285 +            System.out.println("OK received expected exception " + ex);
 392.286 +        }
 392.287 +        try {
 392.288 +            StandardMBean.findOperationMethod(TestMBean.class, null);
 392.289 +            throw new Exception("Expected exception not found");
 392.290 +        } catch (IllegalArgumentException ex) {
 392.291 +            System.out.println("OK received expected exception " + ex);
 392.292 +        }
 392.293 +        try {
 392.294 +            StandardMBean.findAttributeAccessors(null,
 392.295 +                    new MBeanAttributeInfo("Test", "Test",
 392.296 +                    TestMBean.class.getDeclaredMethod("getState"),
 392.297 +                    TestMBean.class.getDeclaredMethod("setState",
 392.298 +                    String.class)));
 392.299 +            throw new Exception("Expected exception not found");
 392.300 +        } catch (IllegalArgumentException ex) {
 392.301 +            System.out.println("OK received expected exception " + ex);
 392.302 +        }
 392.303 +        try {
 392.304 +            StandardMBean.findAttributeAccessors(TestMBean.class, null);
 392.305 +            throw new Exception("Expected exception not found");
 392.306 +        } catch (IllegalArgumentException ex) {
 392.307 +            System.out.println("OK received expected exception " + ex);
 392.308 +        }
 392.309 +        //Wrong operation signature
 392.310 +        try {
 392.311 +            StandardMBean.findOperationMethod(TestMBean.class,
 392.312 +                    new MBeanOperationInfo("FaultyTest",
 392.313 +                    FaultyTestMBean.class.getDeclaredMethod("doIt",
 392.314 +                    String.class)));
 392.315 +            throw new Exception("Expected exception not found");
 392.316 +        } catch (NoSuchMethodException ex) {
 392.317 +            System.out.println("OK received expected exception " + ex);
 392.318 +        }
 392.319 +        //Wrong attribute accessor
 392.320 +        try {
 392.321 +            StandardMBean.findAttributeAccessors(TestMBean.class,
 392.322 +                    new MBeanAttributeInfo("FaultyTest", "FaultyTest", null,
 392.323 +                    FaultyTestMBean.class.getDeclaredMethod("setEnabled",
 392.324 +                    String.class)));
 392.325 +            throw new Exception("Expected exception not found");
 392.326 +        } catch (NoSuchMethodException ex) {
 392.327 +            System.out.println("OK received expected exception " + ex);
 392.328 +        }
 392.329 +        //Wrong attribute type
 392.330 +        try {
 392.331 +            StandardMBean.findAttributeAccessors(TestMBean.class,
 392.332 +                    new MBeanAttributeInfo("State", "toto.FaultType",
 392.333 +                    "FaultyTest", true, true, false));
 392.334 +            throw new Exception("Expected exception not found");
 392.335 +        } catch (ClassNotFoundException ex) {
 392.336 +            System.out.println("OK received expected exception " + ex);
 392.337 +        }
 392.338 +        //Wrong operation parameter type
 392.339 +        try {
 392.340 +            MBeanParameterInfo[] p = {new MBeanParameterInfo("p1",
 392.341 +                "toto.FaultType2", "FaultyParameter")
 392.342 +            };
 392.343 +            StandardMBean.findOperationMethod(TestMBean.class,
 392.344 +                    new MBeanOperationInfo("doIt", "FaultyMethod", p, "void",
 392.345 +                    0));
 392.346 +            throw new Exception("Expected exception not found");
 392.347 +        } catch (ClassNotFoundException ex) {
 392.348 +            System.out.println("OK received expected exception " + ex);
 392.349 +        }
 392.350 +        // Check that not annotated attributes are not found
 392.351 +        try {
 392.352 +            StandardMBean.findAttributeAccessors(AnnotatedTest.class,
 392.353 +                    new MBeanAttributeInfo("ItNot", String.class.getName(),
 392.354 +                    "FaultyTest", true, false, false));
 392.355 +            throw new Exception("Expected exception not found");
 392.356 +        } catch (NoSuchMethodException ex) {
 392.357 +            System.out.println("OK received expected exception " + ex);
 392.358 +        }
 392.359 +        // Check that not annotated operations are not found
 392.360 +        try {
 392.361 +            StandardMBean.findOperationMethod(AnnotatedTest.class,
 392.362 +                    new MBeanOperationInfo("dontDoIt","dontDoIt",null,
 392.363 +                    Void.TYPE.getName(),0));
 392.364 +            throw new Exception("Expected exception not found");
 392.365 +        } catch (NoSuchMethodException ex) {
 392.366 +            System.out.println("OK received expected exception " + ex);
 392.367 +        }
 392.368 +        // Check that wrong getter return type throws Exception
 392.369 +        try {
 392.370 +            StandardMBean.findAttributeAccessors(AnnotatedTest.class,
 392.371 +                    new MBeanAttributeInfo("ItAnnotated", Long.class.getName(),
 392.372 +                    "FaultyTest", true, false, false));
 392.373 +            throw new Exception("Expected exception not found");
 392.374 +        } catch (NoSuchMethodException ex) {
 392.375 +            System.out.println("OK received expected exception " + ex);
 392.376 +        }
 392.377 +         // Check that wrong setter return type throws Exception
 392.378 +        try {
 392.379 +            StandardMBean.findAttributeAccessors(FaultyTestMBean.class,
 392.380 +                    new MBeanAttributeInfo("Wrong", String.class.getName(),
 392.381 +                    "FaultyTest", true, true, false));
 392.382 +            throw new Exception("Expected exception not found");
 392.383 +        } catch (NoSuchMethodException ex) {
 392.384 +            System.out.println("OK received expected exception " + ex);
 392.385 +        }
 392.386 +    }
 392.387 +}
   393.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   393.2 +++ b/test/javax/management/standardmbean/RegistrationTest.java	Tue Jan 20 09:42:07 2009 -0800
   393.3 @@ -0,0 +1,91 @@
   393.4 +/*
   393.5 + * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
   393.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   393.7 + *
   393.8 + * This code is free software; you can redistribute it and/or modify it
   393.9 + * under the terms of the GNU General Public License version 2 only, as
  393.10 + * published by the Free Software Foundation.
  393.11 + *
  393.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  393.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  393.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  393.15 + * version 2 for more details (a copy is included in the LICENSE file that
  393.16 + * accompanied this code).
  393.17 + *
  393.18 + * You should have received a copy of the GNU General Public License version
  393.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  393.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  393.21 + *
  393.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  393.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
  393.24 + * have any questions.
  393.25 + */
  393.26 +
  393.27 +/*
  393.28 + * @test
  393.29 + * @bug 6450834
  393.30 + * @summary Forward MBeanRegistration calls
  393.31 + * @author JF Denise
  393.32 + * @run main RegistrationTest
  393.33 + */
  393.34 +
  393.35 +import java.io.Serializable;
  393.36 +import java.lang.management.ManagementFactory;
  393.37 +import javax.management.*;
  393.38 +
  393.39 +public class RegistrationTest {
  393.40 +    static boolean preRegisterCalled;
  393.41 +    static boolean postRegisterCalled;
  393.42 +    static boolean preDeregisterCalled;
  393.43 +    static boolean postDeregisterCalled;
  393.44 +
  393.45 +    static void checkResult(boolean expected) throws Exception {
  393.46 +        if((preRegisterCalled != expected ||
  393.47 +            postRegisterCalled != expected ||
  393.48 +            preDeregisterCalled != expected ||
  393.49 +            postDeregisterCalled != expected))
  393.50 +            throw new Exception("Mismatch preRegisterCalled = "
  393.51 +                    + preRegisterCalled + ", postRegisterCalled = "
  393.52 +                    + postRegisterCalled + ", preDeregisterCalled = "
  393.53 +                    + preDeregisterCalled + ", postDeregisterCalled = "
  393.54 +                    + postDeregisterCalled);
  393.55 +    }
  393.56 +    static class Wrapped implements MBeanRegistration,Serializable {
  393.57 +
  393.58 +        public ObjectName preRegister(MBeanServer server, ObjectName name)
  393.59 +                throws Exception {
  393.60 +            preRegisterCalled = true;
  393.61 +            return name;
  393.62 +        }
  393.63 +
  393.64 +        public void postRegister(Boolean registrationDone) {
  393.65 +            postRegisterCalled = true;
  393.66 +        }
  393.67 +
  393.68 +        public void preDeregister() throws Exception {
  393.69 +            preDeregisterCalled = true;
  393.70 +        }
  393.71 +
  393.72 +        public void postDeregister() {
  393.73 +            postDeregisterCalled = true;
  393.74 +        }
  393.75 +
  393.76 +    }
  393.77 +
  393.78 +    public static void main(String[] args) throws Exception {
  393.79 +       StandardMBean std = new StandardMBean(new Wrapped(),
  393.80 +               Serializable.class);
  393.81 +       ObjectName name = ObjectName.valueOf(":type=Test");
  393.82 +       ManagementFactory.getPlatformMBeanServer().registerMBean(std,name);
  393.83 +       ManagementFactory.getPlatformMBeanServer().unregisterMBean(name);
  393.84 +       checkResult(false);
  393.85 +       StandardMBean.Options opt = new StandardMBean.Options();
  393.86 +       opt.setMBeanRegistrationForwarded(true);
  393.87 +       std = new StandardMBean(new Wrapped(),
  393.88 +               Serializable.class, opt );
  393.89 +       ManagementFactory.getPlatformMBeanServer().registerMBean(std,name);
  393.90 +       ManagementFactory.getPlatformMBeanServer().unregisterMBean(name);
  393.91 +       checkResult(true);
  393.92 +       System.out.println("Test OK");
  393.93 +    }
  393.94 +}
   394.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   394.2 +++ b/test/javax/print/CheckDupFlavor.java	Tue Jan 20 09:42:07 2009 -0800
   394.3 @@ -0,0 +1,67 @@
   394.4 +/*
   394.5 + * Copyright 2004-2008 Sun Microsystems, Inc.  All Rights Reserved.
   394.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   394.7 + *
   394.8 + * This code is free software; you can redistribute it and/or modify it
   394.9 + * under the terms of the GNU General Public License version 2 only, as
  394.10 + * published by the Free Software Foundation.
  394.11 + *
  394.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  394.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  394.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  394.15 + * version 2 for more details (a copy is included in the LICENSE file that
  394.16 + * accompanied this code).
  394.17 + *
  394.18 + * You should have received a copy of the GNU General Public License version
  394.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  394.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  394.21 + *
  394.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  394.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
  394.24 + * have any questions.
  394.25 + */
  394.26 +
  394.27 +/*
  394.28 + * @test
  394.29 + * @bug 4996318 6731937
  394.30 + * @summary  There should be no duplicates returned by getSupportedDocFlavors.
  394.31 + * @run main CheckDupFlavor
  394.32 + */
  394.33 +import javax.print.*;
  394.34 +import javax.print.attribute.*;
  394.35 +import javax.print.attribute.standard.*;
  394.36 +import java.util.ArrayList;
  394.37 +
  394.38 +
  394.39 +public class CheckDupFlavor {
  394.40 +    public static void main(String[] args){
  394.41 +        PrintService pservice =
  394.42 +                     PrintServiceLookup.lookupDefaultPrintService();
  394.43 +
  394.44 +        if (pservice == null) {
  394.45 +                System.out.println("No default PrintService found. Test ABORTED.");
  394.46 +            return;
  394.47 +        }
  394.48 +
  394.49 +        System.out.println("Default service = "+pservice);
  394.50 +
  394.51 +        DocFlavor[] flavors = pservice.getSupportedDocFlavors();
  394.52 +        if (flavors==null) {
  394.53 +            System.out.println("No flavors supported. Test PASSED.");
  394.54 +            return;
  394.55 +        }
  394.56 +
  394.57 +
  394.58 +        ArrayList flavorList = new ArrayList();
  394.59 +        for (int i=0; i<flavors.length; i++) {
  394.60 +                if (flavors[i] == null) {
  394.61 +                        throw new RuntimeException("Null flavor. Test FAILED.");
  394.62 +                } else if (flavorList.contains(flavors[i])) {
  394.63 +                        throw new RuntimeException("\n\tDuplicate flavor found : "+flavors[i]+" : Test FAILED.");
  394.64 +                } else {
  394.65 +                        flavorList.add(flavors[i]);
  394.66 +                }
  394.67 +        }
  394.68 +        System.out.println("No duplicate found. Test PASSED.");
  394.69 +    }
  394.70 +}
   395.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   395.2 +++ b/test/javax/print/TestRaceCond.java	Tue Jan 20 09:42:07 2009 -0800
   395.3 @@ -0,0 +1,53 @@
   395.4 +/*
   395.5 + * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
   395.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   395.7 + *
   395.8 + * This code is free software; you can redistribute it and/or modify it
   395.9 + * under the terms of the GNU General Public License version 2 only, as
  395.10 + * published by the Free Software Foundation.
  395.11 + *
  395.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  395.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  395.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  395.15 + * version 2 for more details (a copy is included in the LICENSE file that
  395.16 + * accompanied this code).
  395.17 + *
  395.18 + * You should have received a copy of the GNU General Public License version
  395.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  395.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  395.21 + *
  395.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  395.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
  395.24 + * have any questions.
  395.25 + */
  395.26 +
  395.27 +/*
  395.28 + * @test
  395.29 + * @bug 6731826
  395.30 + * @summary  There should be no RuntimeException.
  395.31 + * @run main TestRaceCond
  395.32 + */
  395.33 +
  395.34 +import javax.print.PrintService;
  395.35 +import javax.print.PrintServiceLookup;
  395.36 +
  395.37 +
  395.38 +public class TestRaceCond {
  395.39 +
  395.40 +    public static void main(String argv[]) {
  395.41 +        trial();
  395.42 +    }
  395.43 +
  395.44 +    static void trial() {
  395.45 +        PrintService pserv1 = PrintServiceLookup.lookupDefaultPrintService();
  395.46 +        PrintService[] pservs = PrintServiceLookup.lookupPrintServices(null, null);
  395.47 +        PrintService pserv2 = PrintServiceLookup.lookupDefaultPrintService();
  395.48 +
  395.49 +        if (pserv1.hashCode() != pserv2.hashCode()) {
  395.50 +            throw new RuntimeException("Different hashCodes for equal print "
  395.51 +                            + "services: " + pserv1.hashCode() + " "
  395.52 +                            + pserv2.hashCode());
  395.53 +        }
  395.54 +    }
  395.55 +}
  395.56 +
   396.1 --- a/test/javax/print/attribute/PSCopiesFlavorTest.java	Wed Jan 14 21:35:03 2009 -0800
   396.2 +++ b/test/javax/print/attribute/PSCopiesFlavorTest.java	Tue Jan 20 09:42:07 2009 -0800
   396.3 @@ -23,7 +23,7 @@
   396.4  
   396.5  /**
   396.6   * @test
   396.7 - * @bug 6527316
   396.8 + * @bug 6527316 6732647
   396.9   * @summary Copies isn't supported for PS flavors.
  396.10   * @run main PSCopiesFlavorTest
  396.11   */
  396.12 @@ -50,5 +50,13 @@
  396.13         if (suppVal || us == null) {
  396.14             throw new RuntimeException("Copies should be unsupported value");
  396.15         }
  396.16 +
  396.17 +       Object value = ps.getSupportedAttributeValues(Copies.class, flavor, null);
  396.18 +
  396.19 +        //Copies Supported
  396.20 +        if(value instanceof CopiesSupported) {
  396.21 +            throw new RuntimeException("Copies should have no supported values.");
  396.22 +        }
  396.23 +
  396.24     }
  396.25  }
   397.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   397.2 +++ b/test/sun/java2d/DirectX/NonOpaqueDestLCDAATest/NonOpaqueDestLCDAATest.java	Tue Jan 20 09:42:07 2009 -0800
   397.3 @@ -0,0 +1,212 @@
   397.4 +/*
   397.5 + * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
   397.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   397.7 + *
   397.8 + * This code is free software; you can redistribute it and/or modify it
   397.9 + * under the terms of the GNU General Public License version 2 only, as
  397.10 + * published by the Free Software Foundation.
  397.11 + *
  397.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  397.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  397.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  397.15 + * version 2 for more details (a copy is included in the LICENSE file that
  397.16 + * accompanied this code).
  397.17 + *
  397.18 + * You should have received a copy of the GNU General Public License version
  397.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  397.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  397.21 + *
  397.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  397.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
  397.24 + * have any questions.
  397.25 + */
  397.26 +
  397.27 +/*
  397.28 + * @test
  397.29 + * @bug 6728834 6749060
  397.30 + * @summary Tests that LCD AA text rendering works properly with destinations
  397.31 + * being VolatileImage of all transparency types
  397.32 + * @author Dmitri.Trembovetski: area=Graphics
  397.33 + * @run main/manual/othervm -Dsun.java2d.d3d=false NonOpaqueDestLCDAATest
  397.34 + * @run main/manual/othervm NonOpaqueDestLCDAATest
  397.35 + * @run main/manual/othervm -Dsun.java2d.opengl=True NonOpaqueDestLCDAATest
  397.36 + */
  397.37 +
  397.38 +import java.awt.AlphaComposite;
  397.39 +import java.awt.Color;
  397.40 +import java.awt.Dimension;
  397.41 +import java.awt.EventQueue;
  397.42 +import java.awt.Font;
  397.43 +import java.awt.Graphics;
  397.44 +import java.awt.Graphics2D;
  397.45 +import java.awt.GraphicsConfiguration;
  397.46 +import java.awt.Image;
  397.47 +import java.awt.RenderingHints;
  397.48 +import java.awt.event.ActionEvent;
  397.49 +import java.awt.event.ActionListener;
  397.50 +import java.awt.event.ComponentAdapter;
  397.51 +import java.awt.event.ComponentEvent;
  397.52 +import java.awt.event.WindowAdapter;
  397.53 +import java.awt.event.WindowEvent;
  397.54 +import java.awt.image.BufferedImage;
  397.55 +import java.awt.image.VolatileImage;
  397.56 +import java.io.File;
  397.57 +import java.util.concurrent.CountDownLatch;
  397.58 +import javax.imageio.ImageIO;
  397.59 +import javax.swing.JButton;
  397.60 +import javax.swing.JFrame;
  397.61 +import javax.swing.JPanel;
  397.62 +import javax.swing.JTextArea;
  397.63 +import static java.awt.Transparency.*;
  397.64 +
  397.65 +public class NonOpaqueDestLCDAATest extends JFrame implements ActionListener {
  397.66 +    private static volatile boolean passed = true;
  397.67 +    private static CountDownLatch complete = new CountDownLatch(1);
  397.68 +
  397.69 +    public NonOpaqueDestLCDAATest() {
  397.70 +        JTextArea desc = new JTextArea();
  397.71 +        desc.setText(
  397.72 +            "\n  Instructions: the three text strings below should appear" +
  397.73 +            "  readable, without smudges or misshapen bold glyphs.\n" +
  397.74 +            "  You may need a magnifier to notice some bad colorfringing in "+
  397.75 +            "  in SW Translucent case, especially in vertical stems.\n\n"+
  397.76 +            "  Basically text rendered to TRANSLUCENT destination should look"+
  397.77 +            "  similar to one rendered to OPAQUE - it may differ in whether or" +
  397.78 +            "  not it's LCD, but it should look 'correct'\n\n"+
  397.79 +            "If the text looks fine the test PASSED otherwise it FAILED.\n");
  397.80 +        desc.setEditable(false);
  397.81 +        desc.setBackground(Color.black);
  397.82 +        desc.setForeground(Color.green);
  397.83 +        add("North", desc);
  397.84 +        JPanel renderPanel = new JPanel() {
  397.85 +            @Override
  397.86 +            public void paintComponent(Graphics g) {
  397.87 +                render(g, getWidth(), getHeight());
  397.88 +            }
  397.89 +        };
  397.90 +        renderPanel.setPreferredSize(new Dimension(1024, 650));
  397.91 +        renderPanel.addComponentListener(new ComponentAdapter() {
  397.92 +            @Override
  397.93 +            public void componentResized(ComponentEvent e) {
  397.94 +                images = null;
  397.95 +            }
  397.96 +        });
  397.97 +        add("Center", renderPanel);
  397.98 +
  397.99 +        JButton passedBtn = new JButton("Passed");
 397.100 +        JButton failedBtn = new JButton("Failed");
 397.101 +        passedBtn.addActionListener(this);
 397.102 +        failedBtn.addActionListener(this);
 397.103 +        JPanel p = new JPanel();
 397.104 +        p.add(passedBtn);
 397.105 +        p.add(failedBtn);
 397.106 +        add("South", p);
 397.107 +        addWindowListener(new WindowAdapter() {
 397.108 +            @Override
 397.109 +            public void windowClosing(WindowEvent e) {
 397.110 +                complete.countDown();
 397.111 +            }
 397.112 +        });
 397.113 +        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
 397.114 +    }
 397.115 +
 397.116 +    public void render(Graphics g, int w, int h) {
 397.117 +        initImages(w, h);
 397.118 +
 397.119 +        g.setColor(new Color(0xAD, 0xD8, 0xE6));
 397.120 +        g.fillRect(0, 0, w, h);
 397.121 +
 397.122 +        Graphics2D g2d = (Graphics2D) g.create();
 397.123 +        for (Image im : images) {
 397.124 +            g2d.drawImage(im, 0, 0, null);
 397.125 +            g2d.translate(0, im.getHeight(null));
 397.126 +        }
 397.127 +    }
 397.128 +
 397.129 +    String tr[] = { "OPAQUE", "BITMASK", "TRANSLUCENT" };
 397.130 +    @Override
 397.131 +    public void actionPerformed(ActionEvent e) {
 397.132 +        if (e.getActionCommand().equals("Passed")) {
 397.133 +            passed = true;
 397.134 +            System.out.println("Test Passed");
 397.135 +        } else if (e.getActionCommand().equals("Failed")) {
 397.136 +            System.out.println("Test Failed");
 397.137 +            for (int i = 0; i < images.length; i++) {
 397.138 +                String f = "NonOpaqueDestLCDAATest_"+tr[i];
 397.139 +                try {
 397.140 +                    if (images[i] instanceof VolatileImage) {
 397.141 +                        f += "_vi.png";
 397.142 +                        ImageIO.write(((VolatileImage)images[i]).
 397.143 +                                getSnapshot(), "png", new File(f));
 397.144 +                    } else {
 397.145 +                        f += "_bi.png";
 397.146 +                        ImageIO.write((BufferedImage)images[i],
 397.147 +                                       "png", new File(f));
 397.148 +                    }
 397.149 +                    System.out.printf("Dumped %s image to %s\n", tr[i], f);
 397.150 +                } catch (Throwable t) {}
 397.151 +            }
 397.152 +            passed = false;
 397.153 +        }
 397.154 +        dispose();
 397.155 +        complete.countDown();
 397.156 +    }
 397.157 +
 397.158 +    static void clear(Graphics2D  g, int type, int w, int h) {
 397.159 +        Graphics2D gg = (Graphics2D) g.create();
 397.160 +        if (type > OPAQUE) {
 397.161 +            gg.setColor(new Color(0, 0, 0, 0));
 397.162 +            gg.setComposite(AlphaComposite.Src);
 397.163 +        } else {
 397.164 +            gg.setColor(new Color(0xAD, 0xD8, 0xE6));
 397.165 +        }
 397.166 +        gg.fillRect(0, 0, w, h);
 397.167 +    }
 397.168 +
 397.169 +    private void render(Image im, int type, String s) {
 397.170 +        Graphics2D g2d = (Graphics2D) im.getGraphics();
 397.171 +        clear(g2d, type, im.getWidth(null), im.getHeight(null));
 397.172 +        g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
 397.173 +                RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB);
 397.174 +        Font f = new Font("Dialog", Font.BOLD, 40);// g2d.getFont().deriveFont(32.0f);
 397.175 +        g2d.setColor(Color.white);
 397.176 +        g2d.setFont(g2d.getFont().deriveFont(36.0f));
 397.177 +        g2d.drawString(s, 10, im.getHeight(null) / 2);
 397.178 +    }
 397.179 +
 397.180 +    Image images[];
 397.181 +    private void initImages(int w, int h) {
 397.182 +        if (images == null) {
 397.183 +            images = new Image[6];
 397.184 +            GraphicsConfiguration gc = getGraphicsConfiguration();
 397.185 +            for (int i = OPAQUE; i <= TRANSLUCENT; i++) {
 397.186 +                VolatileImage vi =
 397.187 +                    gc.createCompatibleVolatileImage(w,h/images.length,i);
 397.188 +                images[i-1] = vi;
 397.189 +                vi.validate(gc);
 397.190 +                String s = "LCD AA Text rendered to " + tr[i - 1] + " HW destination";
 397.191 +                render(vi, i, s);
 397.192 +
 397.193 +                s = "LCD AA Text rendered to " + tr[i - 1] + " SW destination";
 397.194 +                images[i-1+3] = gc.createCompatibleImage(w, h/images.length, i);
 397.195 +                render(images[i-1+3], i, s);
 397.196 +            }
 397.197 +        }
 397.198 +    }
 397.199 +
 397.200 +    public static void main(String[] args) throws InterruptedException {
 397.201 +        EventQueue.invokeLater(new Runnable() {
 397.202 +            @Override
 397.203 +            public void run() {
 397.204 +                NonOpaqueDestLCDAATest t = new NonOpaqueDestLCDAATest();
 397.205 +                t.pack();
 397.206 +                t.setVisible(true);
 397.207 +            }
 397.208 +        });
 397.209 +
 397.210 +        complete.await();
 397.211 +        if (!passed) {
 397.212 +            throw new RuntimeException("Test Failed!");
 397.213 +        }
 397.214 +    }
 397.215 +}
   398.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   398.2 +++ b/test/sun/java2d/DirectX/OpaqueImageToSurfaceBlitTest/OpaqueImageToSurfaceBlitTest.java	Tue Jan 20 09:42:07 2009 -0800
   398.3 @@ -0,0 +1,75 @@
   398.4 +/*
   398.5 + * Copyright 2007-2008 Sun Microsystems, Inc.  All Rights Reserved.
   398.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   398.7 + *
   398.8 + * This code is free software; you can redistribute it and/or modify it
   398.9 + * under the terms of the GNU General Public License version 2 only, as
  398.10 + * published by the Free Software Foundation.
  398.11 + *
  398.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  398.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  398.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  398.15 + * version 2 for more details (a copy is included in the LICENSE file that
  398.16 + * accompanied this code).
  398.17 + *
  398.18 + * You should have received a copy of the GNU General Public License version
  398.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  398.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  398.21 + *
  398.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  398.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
  398.24 + * have any questions.
  398.25 + */
  398.26 +
  398.27 +/*
  398.28 + * @test
  398.29 + * @bug 6764257
  398.30 + * @summary Tests that the alpha in opaque images doesn't affect result of alpha
  398.31 + * compositing
  398.32 + * @author Dmitri.Trembovetski@sun.com: area=Graphics
  398.33 + * @run main/othervm OpaqueImageToSurfaceBlitTest
  398.34 + * @run main/othervm -Dsun.java2d.noddraw=true OpaqueImageToSurfaceBlitTest
  398.35 + * @run main/othervm -Dsun.java2d.opengl=True OpaqueImageToSurfaceBlitTest
  398.36 + */
  398.37 +
  398.38 +import java.awt.AlphaComposite;
  398.39 +import java.awt.Graphics2D;
  398.40 +import java.awt.GraphicsConfiguration;
  398.41 +import java.awt.GraphicsDevice;
  398.42 +import java.awt.GraphicsEnvironment;
  398.43 +import java.awt.image.BufferedImage;
  398.44 +import java.awt.image.DataBufferInt;
  398.45 +import java.awt.image.VolatileImage;
  398.46 +
  398.47 +public class OpaqueImageToSurfaceBlitTest {
  398.48 +
  398.49 +    public static void main(String[] args) {
  398.50 +
  398.51 +        GraphicsEnvironment ge =
  398.52 +            GraphicsEnvironment.getLocalGraphicsEnvironment();
  398.53 +        GraphicsDevice gd = ge.getDefaultScreenDevice();
  398.54 +        GraphicsConfiguration gc = gd.getDefaultConfiguration();
  398.55 +        VolatileImage vi = gc.createCompatibleVolatileImage(16, 16);
  398.56 +        vi.validate(gc);
  398.57 +
  398.58 +        BufferedImage bi =
  398.59 +            new BufferedImage(2, 2, BufferedImage.TYPE_INT_RGB);
  398.60 +        int data[] = ((DataBufferInt)bi.getRaster().getDataBuffer()).getData();
  398.61 +        data[0] = 0x0000007f;
  398.62 +        data[1] = 0x0000007f;
  398.63 +        data[2] = 0xff00007f;
  398.64 +        data[3] = 0xff00007f;
  398.65 +        Graphics2D g = vi.createGraphics();
  398.66 +        g.setComposite(AlphaComposite.SrcOver.derive(0.999f));
  398.67 +        g.drawImage(bi, 0, 0, null);
  398.68 +
  398.69 +        bi = vi.getSnapshot();
  398.70 +        if (bi.getRGB(0, 0) != bi.getRGB(1, 1)) {
  398.71 +            throw new RuntimeException("Test FAILED: color at 0x0 ="+
  398.72 +                Integer.toHexString(bi.getRGB(0, 0))+" differs from 1x1 ="+
  398.73 +                Integer.toHexString(bi.getRGB(1,1)));
  398.74 +        }
  398.75 +
  398.76 +        System.out.println("Test PASSED.");
  398.77 +    }
  398.78 +}
   399.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   399.2 +++ b/test/sun/java2d/pipe/hw/RSLContextInvalidationTest/RSLContextInvalidationTest.java	Tue Jan 20 09:42:07 2009 -0800
   399.3 @@ -0,0 +1,107 @@
   399.4 +/*
   399.5 + * Copyright 2007-2008 Sun Microsystems, Inc.  All Rights Reserved.
   399.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   399.7 + *
   399.8 + * This code is free software; you can redistribute it and/or modify it
   399.9 + * under the terms of the GNU General Public License version 2 only, as
  399.10 + * published by the Free Software Foundation.
  399.11 + *
  399.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  399.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  399.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  399.15 + * version 2 for more details (a copy is included in the LICENSE file that
  399.16 + * accompanied this code).
  399.17 + *
  399.18 + * You should have received a copy of the GNU General Public License version
  399.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  399.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  399.21 + *
  399.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  399.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
  399.24 + * have any questions.
  399.25 + */
  399.26 +
  399.27 +/*
  399.28 + * @test
  399.29 + * @bug 6764257
  399.30 + * @summary Tests that the color is reset properly after save/restore context
  399.31 + * @author Dmitri.Trembovetski@sun.com: area=Graphics
  399.32 + * @compile -XDignore.symbol.file=true RSLContextInvalidationTest.java
  399.33 + * @run main/othervm RSLContextInvalidationTest
  399.34 + * @run main/othervm -Dsun.java2d.noddraw=true RSLContextInvalidationTest
  399.35 + * @run main/othervm -Dsun.java2d.opengl=True RSLContextInvalidationTest
  399.36 + */
  399.37 +
  399.38 +import java.awt.Color;
  399.39 +import java.awt.Graphics;
  399.40 +import java.awt.GraphicsConfiguration;
  399.41 +import java.awt.GraphicsDevice;
  399.42 +import java.awt.GraphicsEnvironment;
  399.43 +import java.awt.image.BufferedImage;
  399.44 +import java.awt.image.VolatileImage;
  399.45 +import sun.java2d.DestSurfaceProvider;
  399.46 +import sun.java2d.Surface;
  399.47 +import sun.java2d.pipe.RenderQueue;
  399.48 +import sun.java2d.pipe.hw.*;
  399.49 +
  399.50 +public class RSLContextInvalidationTest {
  399.51 +
  399.52 +    public static void main(String[] args) {
  399.53 +        GraphicsEnvironment ge =
  399.54 +            GraphicsEnvironment.getLocalGraphicsEnvironment();
  399.55 +        GraphicsDevice gd = ge.getDefaultScreenDevice();
  399.56 +        GraphicsConfiguration gc = gd.getDefaultConfiguration();
  399.57 +        VolatileImage vi = gc.createCompatibleVolatileImage(100, 100);
  399.58 +        vi.validate(gc);
  399.59 +        VolatileImage vi1 = gc.createCompatibleVolatileImage(100, 100);
  399.60 +        vi1.validate(gc);
  399.61 +
  399.62 +        if (!(vi instanceof DestSurfaceProvider)) {
  399.63 +            System.out.println("Test considered PASSED: no HW acceleration");
  399.64 +            return;
  399.65 +        }
  399.66 +
  399.67 +        DestSurfaceProvider p = (DestSurfaceProvider)vi;
  399.68 +        Surface s = p.getDestSurface();
  399.69 +        if (!(s instanceof AccelSurface)) {
  399.70 +            System.out.println("Test considered PASSED: no HW acceleration");
  399.71 +            return;
  399.72 +        }
  399.73 +        AccelSurface dst = (AccelSurface)s;
  399.74 +
  399.75 +        Graphics g = vi.createGraphics();
  399.76 +        g.drawImage(vi1, 95, 95, null);
  399.77 +        g.setColor(Color.red);
  399.78 +        g.fillRect(0, 0, 100, 100);
  399.79 +        g.setColor(Color.black);
  399.80 +        g.fillRect(0, 0, 100, 100);
  399.81 +        // after this the validated context color is black
  399.82 +
  399.83 +        RenderQueue rq = dst.getContext().getRenderQueue();
  399.84 +        rq.lock();
  399.85 +        try {
  399.86 +            dst.getContext().saveState();
  399.87 +            dst.getContext().restoreState();
  399.88 +        } finally {
  399.89 +            rq.unlock();
  399.90 +        }
  399.91 +
  399.92 +        // this will cause ResetPaint (it will set color to extended EA=ff,
  399.93 +        // which is ffffffff==Color.white)
  399.94 +        g.drawImage(vi1, 95, 95, null);
  399.95 +
  399.96 +        // now try filling with black again, but it will come up as white
  399.97 +        // because this fill rect won't validate the color properly
  399.98 +        g.setColor(Color.black);
  399.99 +        g.fillRect(0, 0, 100, 100);
 399.100 +
 399.101 +        BufferedImage bi = vi.getSnapshot();
 399.102 +        if (bi.getRGB(50, 50) != Color.black.getRGB()) {
 399.103 +            throw new RuntimeException("Test FAILED: found color="+
 399.104 +                Integer.toHexString(bi.getRGB(50, 50))+" instead of "+
 399.105 +                Integer.toHexString(Color.black.getRGB()));
 399.106 +        }
 399.107 +
 399.108 +        System.out.println("Test PASSED.");
 399.109 +    }
 399.110 +}
   400.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   400.2 +++ b/test/sun/jvmstat/monitor/MonitoredVm/CR6672135.java	Tue Jan 20 09:42:07 2009 -0800
   400.3 @@ -0,0 +1,71 @@
   400.4 +/*
   400.5 + * Copyright 2004 Sun Microsystems, Inc.  All Rights Reserved.
   400.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   400.7 + *
   400.8 + * This code is free software; you can redistribute it and/or modify it
   400.9 + * under the terms of the GNU General Public License version 2 only, as
  400.10 + * published by the Free Software Foundation.
  400.11 + *
  400.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
  400.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  400.14 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  400.15 + * version 2 for more details (a copy is included in the LICENSE file that
  400.16 + * accompanied this code).
  400.17 + *
  400.18 + * You should have received a copy of the GNU General Public License version
  400.19 + * 2 along with this work; if not, write to the Free Software Foundation,
  400.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  400.21 + *
  400.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  400.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
  400.24 + * have any questions.
  400.25 + */
  400.26 +
  400.27 +import java.net.URISyntaxException;
  400.28 +import java.util.Set;
  400.29 +import sun.jvmstat.monitor.MonitorException;
  400.30 +import sun.jvmstat.monitor.MonitoredHost;
  400.31 +import sun.jvmstat.monitor.MonitoredVm;
  400.32 +import sun.jvmstat.monitor.VmIdentifier;
  400.33 +
  400.34 +/**
  400.35 + *
  400.36 + * @test
  400.37 + * @bug 6672135
  400.38 + * @summary setInterval() for local MonitoredHost and local MonitoredVm
  400.39 + * @author Tomas Hurka
  400.40 + */
  400.41 +public class CR6672135 {
  400.42 +
  400.43 +    private static final int INTERVAL = 2000;
  400.44 +
  400.45 +    public static void main(String[] args) {
  400.46 +        int vmInterval;
  400.47 +        int hostInterval;
  400.48 +
  400.49 +        try {
  400.50 +            MonitoredHost localHost = MonitoredHost.getMonitoredHost("localhost");
  400.51 +            Set vms = localHost.activeVms();
  400.52 +            Integer vmInt =  (Integer) vms.iterator().next();
  400.53 +            String uriString = "//" + vmInt + "?mode=r"; // NOI18N
  400.54 +            VmIdentifier vmId = new VmIdentifier(uriString);
  400.55 +            MonitoredVm vm = localHost.getMonitoredVm(vmId);
  400.56 +
  400.57 +            vm.setInterval(INTERVAL);
  400.58 +            localHost.setInterval(INTERVAL);
  400.59 +            vmInterval = vm.getInterval();
  400.60 +            hostInterval = localHost.getInterval();
  400.61 +        } catch (Exception ex) {
  400.62 +            throw new Error ("Test failed",ex);
  400.63 +        }
  400.64 +        System.out.println("VM "+vmInterval);
  400.65 +        if (vmInterval != INTERVAL) {
  400.66 +            throw new Error("Test failed");
  400.67 +        }
  400.68 +        System.out.println("Host "+hostInterval);
  400.69 +        if (hostInterval != INTERVAL) {
  400.70 +            throw new Error("Test failed");
  400.71 +        }
  400.72 +    }
  400.73 +}
  400.74 +